¿Qué es Base64?
Base64 es una forma de representar datos binarios o de texto utilizando sólo 64 caracteres seguros, letras, números y un par de símbolos. No es cifrado y no proporciona seguridad; es una codificación que permite que los datos viajen de forma segura a través de sistemas que solo manejan texto, como correo electrónico, cargas JSON, URL de datos y encabezados HTTP. Esta herramienta convierte texto a Base64 y decodifica Base64 nuevamente a texto legible.
Cuando necesitas Base64
Los desarrolladores se encuentran constantemente con Base64. Los archivos adjuntos de correo electrónico están codificados en Base64, por lo que los archivos binarios sobreviven al transporte de correo de sólo texto. Las imágenes pequeñas se incrustan directamente en CSS o HTML como URL de datos Base64 para guardar una solicitud. Los encabezados de autenticación básica llevan credenciales codificadas en Base64. Los tokens web JSON utilizan Base64 para sus segmentos. Cuando necesita inspeccionar o crear cualquiera de estos, codificar y decodificar a mano no es práctico, esta herramienta lo hace al instante.
Unicode manejado correctamente
Un error común con las herramientas Base64 es alterar caracteres acentuados o no latinos, porque la codificación ingenua asume ASCII simple. Esta herramienta codifica primero a través de UTF-8, por lo que las letras acentuadas, los emoji y los caracteres de cualquier idioma sobreviven intactos el viaje de ida y vuelta. Puede codificar "café" o texto en cualquier script y decodificarlo exactamente como estaba.
Base64 no es cifrado
Vale la pena enfatizar: Base64 es trivialmente reversible y no ofrece protección. Cualquiera puede decodificarlo en un segundo, incluso con esta herramienta. Nunca utilices Base64 para ocultar contraseñas o datos confidenciales pensando que es seguro. Es puramente una codificación de transporte, útil para hacer que los datos sean seguros para el texto, no para mantenerlos en secreto. Para una seguridad real, necesita un cifrado real, que es algo completamente diferente.
Cómo funciona la codificación Base64
Base64 toma datos binarios y los representa usando 64 caracteres imprimibles, de la A a la Z, de la A a la Z, del 0 al 9, más y barra, con el signo igual como relleno. Cada tres bytes de entrada se convierten en cuatro caracteres Base64, razón por la cual los datos codificados son aproximadamente un tercio más grandes que los originales. Esta expansión es la compensación para hacer que cualquier dato sea seguro para incrustarlo en contextos de solo texto. La decodificación invierte el proceso exactamente, recuperando los bytes originales.
URL de datos e imágenes incrustadas
Un uso cotidiano de Base64 es la URL de datos, que incrusta un archivo pequeño directamente en HTML o CSS en lugar de vincularlo. Un pequeño ícono codificado como una URL de datos Base64 se carga con la página en lugar de requerir una solicitud por separado, lo que puede acelerar la representación de recursos pequeños. Los desarrolladores pegan datos de imágenes, los codifican y colocan el resultado en un atributo src. Para archivos más grandes, la penalización del tamaño supera el beneficio, pero para íconos pequeños y SVG en línea es una técnica común.
Base64 en tokens, correos electrónicos y API
Base64 aparece en todo el desarrollo web. Los tokens web JSON codifican sus segmentos de encabezado y carga útil en Base64 para que viajen de manera segura en encabezados y URL. Los archivos adjuntos de correo electrónico están codificados en Base64, por lo que los archivos binarios sobreviven al transporte de correo basado en texto. La autenticación básica HTTP codifica las credenciales en Base64. Las API a veces aceptan o devuelven datos binarios codificados en Base64 dentro de JSON. Cuando necesita inspeccionar o construir cualquiera de estos, esta herramienta codifica y decodifica instantáneamente, manejando Unicode correctamente para que nada se dañe.