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.