¿Cuál es el propósito de la encoding de la base 64 y por qué se usa en la Autenticación básica HTTP?

No obtengo el cifrado Base64.

Si uno puede descifrar una cadena de Base64, ¿cuál es su propósito?

¿Por qué se está utilizando para HTTP Basic auth?

Es como decirle a alguien que mi contraseña se invierte en OLLEH.

Las personas que vean OLLEH sabrán que la contraseña original fue HOLA.

Base64 no es cifrado, es una encoding. Es una forma de representar datos binarios utilizando solo caracteres imprimibles (de texto).

Consulte este párrafo de la página de wikipedia para la Autenticación básica de HTTP :

Si bien la encoding del nombre de usuario y la contraseña con el algoritmo Base64 generalmente los hace ilegibles a simple vista, se decodifican tan fácilmente como se codifican. La seguridad no es la intención del paso de encoding. Por el contrario, la intención de la encoding es codificar los caracteres no compatibles con HTTP que pueden estar en el nombre de usuario o contraseña en aquellos que son compatibles con HTTP.

¡Normalmente se llama encoding base64, no cifrado! Lo bueno de la encoding base64 es que le permite representar datos (binarios) utilizando solo un subconjunto común limitado de los caracteres disponibles, mucho más eficientemente que simplemente escribir una cadena de 1s y 0s como ASCII, por ejemplo.

En crypt ion requiere una clave (cadena o algoritmo) para descifrar; de ahí la “cripta” (raíz: criptografía )

La encoding modifica / cambia / cambia el código de un carácter a otro. En este caso, los bytes de datos habituales ahora se pueden representar fácilmente y transportar utilizando HTTP.

Puede querer decir “Codificación Base 64”. El cifrado no es lo mismo que la encoding.

Wikipedia: Encriptación

En el lenguaje cotidiano, un “código” es algo secreto. En ciencia e ingeniería, un código es simplemente un acuerdo, un conjunto de reglas, de cómo escribir algo.

Ese código puede ser secreto. En ese caso, se llama encriptación. Pero, en general, un código no es secreto. Toma el código genético. Simplemente establece que nuestro ADN se construye a partir de cuatro bases diferentes: A , C , G y T y que tres bases juntas forman un aminoácido. También hay una tabla de las cuales tres letras forman qué aminoácido.

No hay nada secreto sobre este código.

Del mismo modo, Base64 no es un código secreto. Más bien, es un código que permite almacenar datos en seis bits por carácter (por lo tanto, hay 64 entidades diferentes, es decir, la “base” del sistema es 64, así como la base de nuestro sistema decimal es 10, ya que hay 10 entidades diferentes llamado “dígitos”).

La encoding Base-64 es parte de las especificaciones MIME. Proporciona una encoding de transporte seguro para los datos que no se mastican si / cuando se retransmite a través de un host que utiliza un esquema de encoding diferente al utilizado por el cliente original.

Hay muchos hosts diferentes en los intertubos y no se puede asumir el soporte para nada más que ASCII de 7 bits, sin arriesgar la pérdida / confusión de datos.

Los mainframes de IBM, por ejemplo, usan una encoding llamada EBCDIC (que viene en muchos sabores diferentes). Sus puntos de código son completamente diferentes de los puntos de código utilizados por las computadoras basadas en ASCII: en ASCII, las letras AZ son 0x41 – 0x5A; en EBCDIC las letras A – Z ni siquiera son un rango contiguo: las letras AI viven en 0xC1 – 0xC9, las letras JR viven en 0xD1 – 0xD9 y las letras SZ viven en 0xE2 – 0xE9.