No obtengo el cifrado Base64.
Si uno puede descifrar una cadena Base64, ¿cuál es su propósito?
¿Por qué se usa para la autenticación básica HTTP?
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 era HOLA.
security
encryption
base64
ajsie
fuente
fuente
Respuestas:
Base64 no es cifrado, es una codificación. Es una forma de representar datos binarios utilizando solo caracteres imprimibles (texto).
Consulte este párrafo de la página de Wikipedia para la autenticación básica HTTP :
fuente
¡Normalmente se llama codificación base64, no cifrado! Lo bueno de la codificación base64 es que le permite representar datos (binarios) utilizando solo un subconjunto limitado y común de los caracteres disponibles, mucho más eficiente que simplemente escribir una cadena de 1s y 0s como ASCII, por ejemplo.
fuente
x2
más bytes que la secuencia original, y 1s, 0s, hace quex8
veces más bytes. (Y Base64 generax1.3
más datos que la matriz de bytes original). Entonces, a veces es aceptable codificar la secuencia binaria como una cadena hexadecimal, duplicando la cantidad de bytes, por ejemplo, solo para almacenar el hash de contraseña en la base de datos.En crypt ion requiere una clave (cadena o algoritmo) para descifrar; de ahí la "cripta" (raíz: criptografía )
En Cod ing modifica las / los cambios / cambia un código de caracteres en otra. En este caso, los bytes de datos habituales ahora se pueden representar y transportar fácilmente mediante HTTP.
fuente
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 cifrado. Pero en general, un código no es secreto. Toma el código genético. Simplemente dice que nuestro ADN está construido a partir de cuatro bases diferentes -
A
,C
,G
yT
y que tres bases tomados juntos forman un amino ácido. También hay una tabla de las cuales tres letras forman cada 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, al igual que la base de nuestro sistema decimal es 10, ya que hay 10 entidades diferentes llamados "dígitos").
fuente
Puede querer decir "Codificación Base 64". El cifrado no es lo mismo que la codificación.
Wikipedia: Cifrado
fuente
La codificación Base-64 es parte de las especificaciones MIME. Proporciona un transporte seguro codificación para el de datos que no se masticarán si se transmiten a través de un host que utiliza un esquema de codificación diferente al utilizado por el cliente original.
Hay muchos hosts diferentes en los intertubes y realmente no puede asumir el soporte para nada más que ASCII de 7 bits, sin correr el riesgo de pérdida de datos / confusión.
Los mainframes de IBM, por ejemplo, usan una codificación llamada EBCDIC (que viene en muchos sabores diferentes). Sus puntos de código son completamente diferentes de los puntos de código utilizados por los 'puters' basados 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.
fuente
De manera predeterminada, los parámetros del campo del encabezado del mensaje en los mensajes del Protocolo de transferencia de hipertexto (HTTP) no pueden llevar caracteres fuera del conjunto de caracteres ISO-8859-1.
Si el nombre de usuario y la contraseña contienen un conjunto de caracteres incompatible, HTTP no podrá transportar ese texto. Para evitar esto, codificamos el nombre de usuario y la contraseña con base64 para asegurarnos de que estamos enviando caracteres compatibles con HTTP a través de HTTP. Para obtener más información, consulte esta autenticación_acceso_básico
fuente