python-39-hashlib y módulo de registro

prefacio

hashlib y módulo de registro, el antiguo módulo de cifrado, que es un módulo de registro;

Ahora las empresas son por lo general una gran cantidad de programadores están utilizando encriptación MD5, pero también tiene muchos algoritmos de cifrado en el módulo hashlib Python:

el MD5 (), SHA1 (), Sha224 (), SHA256 (), SHA384 (), SHA512 (), Blake2b (), Blake2s (),
Sha3_224, Sha3_256, Sha3_384, Sha3_512, Shake_128, Y Shake_256.

Un módulo conocido hashlib

1, hashlib: MD5 algoritmo de cifrado proporciona un resumen del módulo.

  • No importa cómo los diferentes algoritmos, funcionalidad resumen es siempre la misma.
  • El uso de un algoritmo de digerir con respecto a la misma cadena, el valor obtenido es siempre constante.
  • El uso de diferentes algoritmos para la misma cadena de digerir, un valor obtenido debe ser diferente.
  • No importa qué algoritmo, así hashlib siempre.

2, cifrado Cuál es el papel?

  • 1, el número de contraseña / ID y otros datos cifrados
  • 2, verificar la consistencia del archivo:
  • - Compruebe si el archivo que descargó el archivo en un servidor remoto y el tiempo de descarga constante
  • - dos archivos en las dos máquinas que desea comprobar si los dos archivos son iguales

Dos, hashlib md5 cifrado módulo

1, una lectura cifrado md5 proceso de impresión:

Después de cifrar la misma cadena cada vez que imprima resultado es el mismo.

importar hashlib 
md5 = hashlib.md5 () 
md5.update (b ' gsxl ' )
 de impresión (md5.hexdigest ())

 2, el proceso de cifrado de la contraseña al registrarse una cuenta y la cuenta de inicio de sesión Ejemplo:

De hecho, aquí es para llevar al usuario a introducir una contraseña para iniciar sesión en el cifrado MD5 y la contraseña cifrada se almacena en la comparación.

# Cifrado de contraseña de la cuenta de registro, archivo de escritura 
hashlib importación 
del usuario = la entrada ( ' Introduzca su cuenta registrada: ' ) 
passwd = la entrada ( ' establecer la contraseña: ' ) 
con Open (r ' G: \ Python_projects \ python_study \ Estudio \ study_python \ python_Basics \ UserInfo ' ' A ' ) AS : F 
    MD5 = (hashlib.md5) 
    md5.update (bytes (el passwd, que codifican = ' . UTF-8 ' )) 
    f.write (User + ' | ' ) 
    F .WRITE (md5.hexdigest ()) 
    f.write (' \ El n- ' ) 

# lee la contraseña e introduzca una contraseña de inicio de sesión cuando se compara la cuenta, justo en el inicio de sesión se realiza correctamente. 
USER_NAME = INPUT ( ' cuenta entrada: ' ) 
contraseña = INPUT ( ' contraseña: ' ) 
uso = '' 
pwd = '' 
con Open (R & lt ' G: \ Python_projects \ python_study \ Estudio \ study_python \ python_Basics \ UserInfo ' ) AS F:
     para que en F: 
        I = i.strip () 
        el uso, pwd = i.split ( ' | ' )
 SI USER_NAME ==uso: 
    MD5 = hashlib.md5 () 
    md5.update (bytes (contraseña, que codifican = ' UTF-8. ' )) 
    md5_pwd = md5.hexdigest ()
     IF USER_NAME == == uso md5_pwd y pwd: 
        Imprimir ( ' inicio de sesión satisfactorio ' )
     la cosa : Imprimir ( ' cuenta o contraseña incorrecta! ' )
 else : print ( ' no existe la cuenta! ' )

 3, md5 sal estática móvil, mejorar la seguridad

# . 3, el MD5 móvil estática sal, mejorar la seguridad 
de importación hashlib 
MD5 = hashlib.md5 (bytes ( ' gsxl ' , que codifica = ' UTF. 8 ' ) + B ' 123456 ' ) 
md5.update (B ' 123456 ' )
 imprimir (md5.hexdigest ())

 Dos, registros de módulo de registro

  • Puede "one-click" Control
  • Solución de problemas cuando se necesita imprimir una gran cantidad de detalles que me ayude a solucionar problemas
  • Los errores graves registrados
  • Hay algunos usuarios no es nada mal comportamiento se debe registrar

1, la tala cinco niveles:

# . 1, el registro de cinco niveles: 
Importar el registro 
logging.debug ( ' debug - nivel inferior ' )              # bajo nivel de información de depuración 
logging.info ( ' Info - Información normales " )              # normal de la información 
logging.warning ( ' Aviso- - advertencias ' )       # información de alerta 
logging.error ( ' error - mensaje de error ' )           # mensaje de error 
logging.critical ( ' critical-- grave error ' )    # mensajes de error críticos de alto nivel

 2, ejemplos

# 2,实例
# % a,% d% b% Y% H:% M:% S 
importación tala 
logging.basicConfig (nivel = logging.DEBUG, 
                    formato = ' % (asctime) s% (filename) s ' 
                           ' [ línea:% (lineno) d]% (levelname) s% (mensaje) s ' 
                    DATEFMT = ' % Y-% m-% d% H:% M:% S ')
 tratar : 
    int (entrada ( ' 请输入你的密码: ' ))
 , excepto ValueError: 
    logging.error ( ' error pwd_type ' )

 Adjunto basicConfig formatear parámetros y el formato:

Una, la tala función basicConfig () puede cambiar el comportamiento predeterminado de los parámetros específicos del módulo de registro, los parámetros están disponibles: 
Nombre del archivo: con la creación del nombre de archivo especificado FiledHandler, este registro se almacena en el archivo especificado. 
fileMode: Abrir archivo, este parámetro se especifica en el nombre de archivo, el valor predeterminado "a" puede también ser designado como "w". 
Formato: manejador de registro especifica el formato de visualización. 
DATEFMT: especificar el formato de fecha y hora. 
Nivel: rootlogger Conjunto (detrás explicará conceptos específicos) Nivel de registro de 
flujo: StreamHandler creado con la corriente especificada. Puede especificar la salida a sys.stderr, sys.stdout o archivo (F = abierto ( 'el test.log', 'W')), sys.stderr defecto. Si ambas listas el nombre de archivo y de transmisión en dos parámetros, el parámetro de corriente se ignora. 

En segundo lugar, el formato de cadena de parámetros de formato puede ser utilizado:
 % (nombre) es el nombre de S Logger
 % (levelno) S nivel de registro de forma digital
 % (levelname) S nivel de registro de forma de texto
 % (ruta de acceso) del registro de llamadas de función de salida S el nombre de ruta completo del módulo no puede estar
 % (filename) S función de salida de registro de módulo llamado nombre de archivo
 %(Módulo) es llamando a la función Nombre del módulo de salida de registro
 % (nombreFunc) S llama al nombre de la función de la función de salida del registro
 % (lineno) de la línea D de código que registro de llamadas función de salida de la declaración donde
 % (creados) F de la hora actual, usando el estándar de UNIX números de coma flotante que representan el tiempo
 % , el número de milisegundos desde Logger d crea cuando la información de registro de salida (relativeCreated)
 % (el asctime) cadena de S de la hora actual. El formato por defecto es "2003-07-0816: 49: 45.896 ". Milisegundos después de la coma
 % ID D hilo (hilo). Puede que no tenga
 % (threadName) Nombre S hilo. No puede tener
 % d ID de proceso (proceso). Puede no
 % (mensaje) s mensaje de salida de usuario

3, el registro personalizado

# 3, el registro personalizado 
# se puede escribir en el chino 
de importación el registro 
log = logging.getLogger ()                              # instancias de un objeto 
F = logging.FileHandler ( ' py.log ' , que codifica = ' UTF. 8 ' )     # gestor de archivo 
h logging.StreamHandler = ()                            # Crear un controlador de objetos consola 
format_f = logging.Formatter (                            # formato de salida 
    ' % (el asctime) s% (filename) S ' ' [Línea:% (lineno) D]% (levelname) S% (Mensaje) S ' ) 
f.setFormatter (format_f)                              # Para pasar un objeto de la salida con formato f 
h.setFormatter (format_f)                               # para pasar un formato objeto de salida h 
log.addHandler (f)                                      #
 log.addHandler (h) 

logging.debug ( ' debug - nivel inferior ' )              # bajo nivel de información de depuración 
logging.info ( ' información - información normales ' )              # normal de información 
logging.warning ( ' mensaje de advertencia warning-- ' )        # información de alerta 
logging.error ( ' error - mensaje de error ' )            # mensajes de error 
logging.critical ( 'critical-- grave error ' )      # mensajes de error de alto nivel crítico

Bienvenido al grupo Todos intercambio QQ estudiar juntos: 482 713 805

Supongo que te gusta

Origin www.cnblogs.com/gsxl/p/12544724.html
Recomendado
Clasificación