Python-Module der Kryptographie
In diesem Kapitel erfahren Sie mehr über verschiedene Kryptografiemodule in Python.
Kryptografiemodul
Es enthält alle Rezepte und Grundelemente und bietet eine allgemeine Codierungsschnittstelle in Python. Sie können das Kryptografiemodul mit dem folgenden Befehl installieren:
pip install cryptography
Code
Sie können den folgenden Code verwenden, um das Kryptografiemodul zu implementieren:
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)
Ausgabe
Der oben angegebene Code erzeugt die folgende Ausgabe:
Der hier angegebene Code wird verwendet, um das Kennwort zu überprüfen und seinen Hash zu erstellen. Es enthält auch eine Logik zum Überprüfen des Kennworts zu Authentifizierungszwecken.
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')
Ausgabe
Scenario 1 - Wenn Sie ein korrektes Passwort eingegeben haben, finden Sie folgende Ausgabe:
Scenario 2 - Wenn wir ein falsches Passwort eingeben, finden Sie folgende Ausgabe:
Erläuterung
HashlibPaket wird zum Speichern von Passwörtern in einer Datenbank verwendet. In diesem Programmsalt wird verwendet, die der Kennwortzeichenfolge eine zufällige Sequenz hinzufügt, bevor die Hash-Funktion implementiert wird.