12: Cifrado y descifrado de cadenas
La codificación de caracteres varía de un país a otro:
1, computadora ->; representa [letras en inglés, números y algunos símbolos especiales] -> /p>
2. Código universal, codificación de caracteres unificada [se afirma que puede unificar la expresión de cualquier idioma en el mundo]
Cualquier dato en cualquier idioma puede usar un carácter para representar la codificación Unicode. .
3. China tiene GB 2312->GBK->GB18030
4. Codificación de transmisión de datos: formato de transmisión Unicode de 8 bits [UTF-8].
Codificación y decodificación en Python;
Regla fatal: Codificar y decodificar cadenas es un punto difícil e importante en cualquier idioma.
¡Cualquier cadena -> está formada por bytes!
En Python 3:Carácter: (str);byte(byte)
Carácter ->Byte: codificar: Codifica una cadena en un binario para que la computadora pueda operar con datos.
Bytes -> Carácter: decodificar: decodifica datos binarios en datos naturales de acuerdo con la codificación especificada ~.
Qué es el cifrado: unos datos de texto sin formato se calculan según un algoritmo específico para obtener otros datos de texto cifrado que pueden ocultar la información real. Este proceso se denomina cifrado; el algoritmo de procesamiento se denomina algoritmo de cifrado y los datos clave utilizados se denominan clave.
¿Qué es el descifrado? El proceso de obtener datos de texto sin formato correctos a partir de datos de texto cifrado de acuerdo con el algoritmo y los datos clave especificados se denomina operación de descifrado.
(1), Algoritmo de cifrado unidireccional: un algoritmo que solo puede cifrar pero no descifrar.
Por ejemplo, si la contraseña de la cuenta de usuario está almacenada (cifrado unidireccional), nadie puede ver la contraseña en texto claro del usuario.
Proceso -> El usuario ingresa la contraseña en texto plano ->Cifrado ->&Comparar con la contraseña de texto cifrado almacenada ->Igualdad - Éxito
Algoritmo de cifrado hash unidireccional -> Algoritmo de resumen de mensajes 5
Algoritmo de cifrado de hash único -> Cifrado SHAX
(2) Algoritmo de cifrado bidireccional: se puede cifrar y los datos cifrados se pueden descifrar para obtener datos de texto sin formato.
Se utiliza en más escenarios; transmisión de datos cifrados -> dirección de destino -> descifrado para obtener datos de texto sin formato para su procesamiento.
Cifrado simétrico: se utiliza la misma clave para cifrar y descifrar
Cifrado asimétrico: se utilizan diferentes claves para cifrar y descifrar, por ejemplo, HTTPS transmite datos
<; p> Hashlib proporciona principalmente funciones de cifrado de caracteres, integra módulos md5 y sha y admite algoritmos como MD5, SHA1, SHA224, SHA256, SHA384 y SHA512.Nota: El tipo de cadena cifrada hashlib es código binario. Cifrar directamente la cadena informará un error:
Existen dos métodos para convertir la cadena en datos binarios.