Python nos ofrece multiples librerías con valor incalculable para todo el tema de criptografía, una de ellas la librería hashlib, que nos va a permitir trabajar con un tipo de encriptado conocido como SHA
Su nombre proviene del inglés, ( Secure Hash Algorithms ), y su labor consiste en crear estructuras seguras, mediante funciones de encriptado, que puedan ser utilizados por diferentes lenguajes de modo transversal.
Los algoritmos o funciones SHA con que trabaja haslib, son varios(‘sha256', 'sha384', 'sha224', 'sha512', 'sha1'
), con diferentes tamaños de bloque
hashlib, posee dos funciones asociadas, que usaremos al aplicar las transformaciones:
- encode() : Convierte las cadenas en bytes, para que la funcion hash pueda procesarla.
- hexdigest() : Devuelve el dato codificado en formato hexadecimal.
Haremos una pequeña demostración de su uso:
Introduciremos un cadena y la convertiremos a su equivalencia en bytes utilizando la funcion enconde(), para que la funcion SHA pueda manipularla, esta la codifica con hexdigest(), e imprimimos la cadena resultante
import hashlib import hashlib # valor de entrada str = "el comienzo de todo" result = hashlib.sha256(str.encode()) # Imprimiendo el valor hexadecimal. print("El resultado es: ") print(result.hexdigest()) print ("\r") # salida: El resultado es: 9f78aef8f9e252913e43156c570568592f014cb0175d52a6071a5eed8959e183 # valor de entrada str = " el comienzo de todo " result = hashlib.MD5(str.encode()) # Imprimiendo el valor hexadecimal. print("El resultado es: ") print(result.hexdigest()) # salida: El resultado es: 3455ed58e2999e23fc7385207e4fb999
Y listo esto es todo.
Espero modestamente que este artículo, sirva de ayuda a alguien.
Gracias.
…. hay que levantarse cada mañana con una esperanza y dormirse cada noche con una meta….