Cómo funciona la codificación Base64
La codificación Base64 divide los datos de entrada en bloques de 3 bytes (24 bits) y convierte cada bloque en cuatro caracteres Base64 de 6 bits.
Alfabeto Base64:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
Relleno: Si la longitud de entrada no es divisible por 3, se agregan caracteres de relleno (=) al final.
Ejemplo: “M” (77 en ASCII) = 01001101 en binario = TQ==
Ejemplos comunes de codificación Base64
Aquí tienes algunos ejemplos comunes de codificación Base64:
| Texto original | Base64 codificado | Notas |
|---|---|---|
Hello |
SGVsbG8= |
Texto simple con relleno |
World |
V29ybGQ= |
Palabra de cinco caracteres |
Hello World! |
SGVsbG8gV29ybGQh |
Incluye espacio y puntuación |
Base64 |
QmFzZTY0 |
No necesita relleno |
user:password |
dXNlcjpwYXNzd29yZA== |
Valor estilo Basic Auth |
{"ok":true} |
eyJvayI6dHJ1ZX0= |
Carga JSON pequeña |
Casos de uso comunes de Base64
- Adjuntos de correo: Base64 se usa en el formato MIME para codificar adjuntos binarios
- Data URL: Incrustar imágenes pequeñas en HTML/CSS con data:image/png;base64,…
- Autenticación API: Muchas API usan Base64 para la autenticación básica (usuario:contraseña)
- Archivos de configuración: Guardar datos binarios o caracteres especiales en configuraciones JSON/XML
- Desarrollo web: Codificar cargas de datos en solicitudes AJAX
Errores de decodificación Base64 y consejos de uso seguro
Base64 es un formato de codificación, no cifrado. Cualquiera que tenga el valor codificado puede decodificarlo, así que no uses Base64 por sí solo para proteger contraseñas, claves privadas, tokens o datos confidenciales.
Si un valor Base64 no se decodifica, revisa si faltan caracteres, saltos de línea copiados, variantes URL-safe que usan - y _, o relleno = ausente al final.
- Usa Base64 cuando los datos binarios deban pasar por un sistema solo de texto.
- Evita Base64 para imágenes grandes en páginas de producción porque aumenta el tamaño y puede reducir la eficiencia de caché.
- Usa codificación URL cuando el objetivo sea únicamente hacer seguros los parámetros de consulta dentro de una URL.