Python中常用的加密函數(shù)主要有兩種:cryptography
庫中的Fernet加密和使用hashlib
庫進行MD5、SHA1、SHA256等哈希加密。以下是這兩種加密函數(shù)的使用方法:
首先,需要生成一個密鑰,然后使用該密鑰對數(shù)據(jù)進行加密和解密??梢允褂?code>cryptography庫中的Fernet
類來實現(xiàn)。
from cryptography.fernet import Fernet
# 生成密鑰
key = Fernet.generate_key()
# 創(chuàng)建Fernet對象
cipher_suite = Fernet(key)
# 加密數(shù)據(jù)
plain_text = "Hello, World!"
cipher_text = cipher_suite.encrypt(plain_text.encode())
print("加密后的數(shù)據(jù):", cipher_text)
# 解密數(shù)據(jù)
decrypted_text = cipher_suite.decrypt(cipher_text).decode()
print("解密后的數(shù)據(jù):", decrypted_text)
hashlib
庫提供了多種哈希算法,如MD5、SHA1、SHA256等。可以使用這些算法對數(shù)據(jù)進行哈希加密。
import hashlib
# 數(shù)據(jù)
data = "Hello, World!"
# 使用MD5算法進行哈希加密
md5_hash = hashlib.md5(data.encode()).hexdigest()
print("MD5哈希值:", md5_hash)
# 使用SHA1算法進行哈希加密
sha1_hash = hashlib.sha1(data.encode()).hexdigest()
print("SHA1哈希值:", sha1_hash)
# 使用SHA256算法進行哈希加密
sha256_hash = hashlib.sha256(data.encode()).hexdigest()
print("SHA256哈希值:", sha256_hash)
請注意,以上示例中的加密方式都是單向加密,即將數(shù)據(jù)轉(zhuǎn)換為不可逆的哈希值或密文。如果需要解密或還原原始數(shù)據(jù),需要保存相應(yīng)的密鑰或密碼。同時,加密后的數(shù)據(jù)應(yīng)妥善保管,避免泄露。