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.

Flujo reversible de ABC a QUJD mediante Base64 sin utilizar una clave secreta
Base64 cambia la representación de los bytes y se puede revertir sin clave; por eso no aporta confidencialidad.
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 No
Cifrado Ocultar contenido a quien no tenga autorización Sí, con la clave adecuada
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.