python密碼學各種加密模塊教程

在本章中,您將詳細瞭解Python中各種加密模塊.

加密模塊

它包含所有配方和基元,並在Python中提供高級編碼接口.您可以使用以下命令安裝加密模塊 :

 pip install cryptography

代碼

您可以使用以下代碼實現加密模塊 :

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)

輸出

上面給出的代碼產生以下輸出 :

此處給出的代碼用於驗證密碼並創建其哈希值.

它還包括用於驗證密碼以進行身份驗證的邏輯.

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')

輸出

場景1 : 如果您輸入瞭正確的密碼,您可以找到以下輸出 :

情景2 : 如果我們輸入錯誤的密碼,您可以找到以下輸出 :

說明

Hashlib 包用於在數據庫中存儲密碼.在此程序中,使用 salt ,在實現哈希函數之前,將隨機序列添加到密碼字符串中.

以上就是python密碼學各種加密模塊教程的詳細內容,更多關於Python密碼學加密模塊的資料請關註WalkonNet其它相關文章!

推薦閱讀: