Guía
Base64 no es cifrado: qué hace realmente
Distingue codificación, cifrado y hash, y aprende por qué cualquier persona puede recuperar un texto Base64 sin una clave.
por Tools in a Tab · Publicado el · Revisado el
Respuesta breve
Base64 es una codificación de bytes como caracteres de texto. No usa una clave, no oculta el contenido y cualquier persona que reciba la cadena puede decodificarla.
texto UTF-8: hola
Base64: aG9sYQ==
Puedes comprobar ambos sentidos con el codificador Base64. El resultado es determinista: los mismos bytes producen la misma cadena.
Codificación, cifrado y hash
| Operación | Objetivo | ¿Se revierte? | ¿Necesita clave? |
|---|---|---|---|
| Base64 | Transportar bytes como texto | Sí | No |
| Cifrado | Ocultar contenido a quien no tenga autorización | Sí, con la clave adecuada | Sí |
| Hash | Obtener una huella de longitud fija | No de forma directa | No necesariamente |
Cambiar el aspecto de un dato no lo protege. Base64 aparece en correo, APIs, archivos de configuración y protocolos que necesitan un alfabeto textual seguro para el canal.
Por qué aumenta el tamaño
Base64 representa cada grupo de 3 bytes mediante 4 caracteres. Sin contar
envolturas o saltos de línea, el tamaño crece aproximadamente un tercio. El
signo = completa el último grupo cuando la entrada no contiene múltiplos de
tres bytes.
La RFC 4648 define el alfabeto y el padding de Base64, además de la variante Base64URL.
Errores de seguridad frecuentes
- Guardar una contraseña «protegida» solo con Base64.
- Publicar una credencial porque la cadena ya no se lee a simple vista.
- Confundir el payload Base64URL de un JWT con contenido cifrado.
- Incluir datos sensibles Base64 en una URL o log.
Un JWT firmado puede proteger integridad sin cifrar el payload: decodificarlo no valida la firma, pero sí permite leer sus claims. Si necesitas confidencialidad, usa un mecanismo criptográfico diseñado y administrado para ello; Base64 solo resuelve representación.