Modules de cryptographie Python

Dans ce chapitre, vous apprendrez en détail les différents modules de cryptographie en Python.

Module de cryptographie

Il comprend toutes les recettes et primitives, et fournit une interface de codage de haut niveau en Python. Vous pouvez installer le module de cryptographie à l'aide de la commande suivante -

pip install cryptography

Code

Vous pouvez utiliser le code suivant pour implémenter le module de cryptographie -

from cryptography.fernet import Fernet
key = Fernet.generate_key()
cipher_suite = Fernet(key)
cipher_text = cipher_suite.encrypt("This example is used to demonstrate cryptography module")
plain_text = cipher_suite.decrypt(cipher_text)

Production

Le code donné ci-dessus produit la sortie suivante -

Le code donné ici est utilisé pour vérifier le mot de passe et créer son hachage. Il comprend également une logique de vérification du mot de passe à des fins d'authentification.

import uuid
import hashlib

def hash_password(password):
   # uuid is used to generate a random number of the specified password
   salt = uuid.uuid4().hex
   return hashlib.sha256(salt.encode() + password.encode()).hexdigest() + ':' + salt

def check_password(hashed_password, user_password):
   password, salt = hashed_password.split(':')
   return password == hashlib.sha256(salt.encode() + user_password.encode()).hexdigest()

new_pass = input('Please enter a password: ')
hashed_password = hash_password(new_pass)
print('The string to store in the db is: ' + hashed_password)
old_pass = input('Now please enter the password again to check: ')

if check_password(hashed_password, old_pass):
   print('You entered the right password')
else:
   print('Passwords do not match')

Production

Scenario 1 - Si vous avez entré un mot de passe correct, vous pouvez trouver la sortie suivante -

Scenario 2 - Si nous entrons un mauvais mot de passe, vous pouvez trouver la sortie suivante -

Explication

Hashlibpackage est utilisé pour stocker les mots de passe dans une base de données. Dans ce programme,salt est utilisé qui ajoute une séquence aléatoire à la chaîne de mot de passe avant d'implémenter la fonction de hachage.