Python-Bcrypt
Python-Bcrypt
Año 2024
AP Santiago Nicolau
1
PROGRAMACIÓN
Python - Bcrypt
2
Hashing con Bcrypt
Una función hash, toma uno o varios elementos de entrada a una función y
los convierte en otro elemento de longitud fija como salida.
El valor hash sirve como una representación compacta del parámetro de
entrada a la función.
Es un proceso irreversible, la conversión debe ser unidireccional, la
longitud del hash debe ser fija y una cadena de entrada debe corresponder
de forma única con un hash de salida.
3
Hashing con Bcrypt - Instalación
Bcrypt utiliza criptografía fuerte para realizar hash aplicadas a contraseñas
basándose en el cifrado Blowfish.
4
Hashing con Bcrypt - Funciones
bcrypt.gensalt() – Se utiliza para generar salt. Es una cadena
pseudoaleatoria que se agrega a la contraseña. Dado que el hash siempre da
el mismo resultado para la misma entrada, si alguien tiene acceso a los datos,
el hash puede ser anulado. Para ello, se agrega sal al final de la contraseña
antes del hash.
bcrypt.hashpw() – Se utiliza para crear el hash antes de guardarlo.
5
Hashing con Bcrypt - Ejemplos
import bcrypt
password = '123456'
# convirtiendo password a array de bytes
bytes = password.encode('utf-8')
# aplicando salt
salt = bcrypt.gensalt()
# Aplicando hasg
hash = bcrypt.hashpw(bytes, salt)
print(hash)
6
Hashing con Bcrypt - Ejemplos - Chequeo
import bcrypt
password = '123456'
# password a bytes
bytes = password.encode('utf-8')
salt = bcrypt.gensalt()# aplicando sal
hash = bcrypt.hashpw(bytes, salt) # creando el hash
password2 = 'abcdefg'
p2bytes = password2.encode('utf-8')
p3 = '123456'
p3bytes=p3.encode('utf-8')
resultado = bcrypt.checkpw(p3bytes, hash) # Comprobando password
print(resultado) 7