Codificación Base64

Con la herramienta de codificación Base64, puede cifrar el texto que ingresa con el método Base64. Si lo desea, puede decodificar el código Base64 encriptado con la herramienta Decodificación Base64.

¿Qué es la codificación Base64?

La codificación Base64 es un esquema de codificación que permite transportar datos binarios en entornos que usan solo algunas codificaciones de caracteres restringidas (entornos en los que no se pueden usar todos los códigos de caracteres, como xml, html, script, aplicaciones de mensajería instantánea). La cantidad de caracteres en este esquema es 64, y el número 64 en la palabra Base64 proviene de aquí.

¿Por qué usar la codificación Base64?

La necesidad de la codificación Base64 surge de los problemas que surgen cuando los medios se transmiten en formato binario sin procesar a sistemas basados ​​en texto. Debido a que los sistemas basados ​​en texto (como el correo electrónico) interpretan los datos binarios como una amplia gama de caracteres, incluidos los caracteres de comando especiales, estos sistemas malinterpretan la mayoría de los datos binarios transmitidos al medio de transferencia y se pierden o corrompen en la transmisión. proceso.

Un método para codificar dichos datos binarios de una manera que evite tales problemas de transmisión es enviarlos como texto ASCII sin formato en formato codificado Base64. Esta es una de las técnicas utilizadas por el estándar MIME para enviar datos que no sean texto sin formato. Muchos lenguajes de programación, como PHP y Javascript, incluyen funciones de codificación y decodificación Base64 para interpretar los datos transmitidos mediante la codificación Base64.

Lógica de codificación Base64

En la codificación Base64, 3 * 8 bits = 24 bits de datos que consisten en 3 bytes se dividen en 4 grupos de 6 bits. Los caracteres correspondientes a los valores decimales entre [0-64] de estos 4 grupos de 6 bits se comparan desde la tabla Base64 para codificar. El número de caracteres obtenidos como resultado de la codificación Base64 debe ser un múltiplo de 4. Los datos codificados que no son un múltiplo de 4 no son datos Base64 válidos. Al codificar con el algoritmo Base64, cuando se completa la codificación, si la longitud de los datos no es un múltiplo de 4, el carácter "=" (igual) se agrega al final de la codificación hasta que sea un múltiplo de 4. Por ejemplo, si tenemos datos codificados en Base64 de 10 caracteres como resultado de la codificación, se deben agregar dos "==" al final.

Ejemplo de codificación Base64

Por ejemplo, tome los tres números ASCII 155, 162 y 233. Estos tres números forman un flujo binario de 100110111010001011101001. Un archivo binario, como una imagen, contiene un flujo binario que funciona para decenas o cientos de miles de ceros y unos. Un codificador Base64 comienza dividiendo el flujo binario en grupos de seis caracteres: 100110 111010 001011 101001. Cada uno de estos grupos se traduce en los números 38, 58, 11 y 41. Un flujo binario de seis caracteres se convierte entre binario (o básico). 2) a caracteres decimales (base 10) elevando al cuadrado cada valor representado por 1 en la matriz binaria por el cuadrado posicional. Comenzando desde la derecha y moviéndose hacia la izquierda y comenzando desde cero, los valores en el flujo binario representan 2^0, luego 2^1, luego 2^2, luego 2^3, luego 2^4, luego 2^ 5.

Aquí hay otra forma de verlo. Comenzando desde la izquierda, cada posición vale 1, 2, 4, 8, 16 y 32. Si la ranura tiene un número binario 1, agrega ese valor; si la ranura tiene 0, te estás perdiendo. Matriz binaria 100110 vueltas 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 decimal + 4 + 0 + 0 + 32. La codificación Base64 toma esta cadena binaria y la divide en valores de 6 bits 38, 58, 11 y 41. Finalmente, estos números se convierten a caracteres ASCII utilizando la tabla de codificación Base64.