Curious TechieDev Toolbox
Todas las Guías/Codificación y Criptografía8 min read

Guía Completa sobre la Codificación Base64

Descubre qué es Base64, cómo funciona el algoritmo binario a texto de 6 bits, variantes seguras para URLs y por qué no es cifrado.

Puntos Clave
  • Base64 es un esquema de codificación binario a texto definido por RFC 4648 usando 64 caracteres ASCII.
  • Agrupa 3 bytes (24 bits) en 4 caracteres de 6 bits cada uno, aumentando el tamaño en un ~33%.
  • Base64 NO es cifrado y no ofrece confidencialidad; cualquiera puede decodificarlo de inmediato.
  • La variante URL-safe reemplaza + por - y / por _ para evitar errores en URLs.

Los canales de comunicación digital como el correo electrónico (SMTP) y las URLs fueron diseñados para transmitir únicamente texto ASCII de 7 bits. Para transferir datos binarios de 8 bits (imágenes, archivos y firmas digitales) sin alteraciones, se creó la codificación Base64.

1. ¿Qué es Base64?

Base64 es un sistema estandarizado por RFC 4648 que traduce secuencias de bytes binarios a un conjunto seguro de 64 caracteres ASCII legibles: letras mayúsculas (A-Z), minúsculas (a-z), números (0-9) y los símbolos + y /.

2. Mecánica Matemática de 3 a 4 Bytes

El algoritmo divide la entrada en bloques de 24 bits (3 bytes), los cuales se separan en 4 grupos de 6 bits (2^6 = 64 valores posibles). Cada valor de 6 bits apunta al carácter correspondiente en la tabla Base64:

3 Bytes de Entrada: [01001101] [01100001] [01101110] (24 bits = "Man")
4 Bloques Salida: [010011] [010110] [000101] [101110]
Índice Base64: 19 22 5 46
Salida Base64: T W F u => "TWFu"

3. Por qué se Requiere Relleno con Signo Igual (=)

Cuando la longitud de los bytes no es múltiplo de 3, se agregan bits en cero para completar el último bloque de 6 bits y se añaden uno o dos caracteres de relleno = para que el receptor reconstruya el tamaño exacto.

4. Variantes Base64 Seguras para URLs

El estándar Base64 incluye + y /, reservados en URLs. En la variante URL-Safe (empleada en tokens JWT y OAuth), se reemplaza + por - y / por _, suprimiendo además el relleno con =.

5. El Mito del "Cifrado Base64"

Base64 no es cifrado. No utiliza claves secretas ni algoritmos criptográficos. Cualquiera que reciba la cadena puede transformarla de vuelta al instante. Nunca utilice Base64 para almacenar credenciales o contraseñas.