91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

python加密函數如何處理數據

小樊
82
2024-10-26 18:55:19
欄目: 編程語言

Python 加密函數可以通過使用標準庫中的 cryptography 模塊或第三方庫如 pycryptodome 來處理數據。以下是使用這些庫進行加密和解密的示例:

使用 cryptography

首先,安裝 cryptography 庫:

pip install cryptography

然后,可以使用 Fernet 對稱加密:

from cryptography.fernet import Fernet

# 生成密鑰
key = Fernet.generate_key()
cipher_suite = Fernet(key)

# 加密
data = "Hello, World!"
encrypted_data = cipher_suite.encrypt(data.encode())
print("Encrypted data:", encrypted_data)

# 解密
decrypted_data = cipher_suite.decrypt(encrypted_data).decode()
print("Decrypted data:", decrypted_data)

使用 pycryptodome

首先,安裝 pycryptodome 庫:

pip install pycryptodome

然后,可以使用 AES 對稱加密:

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad
import base64

# 生成密鑰
key = get_random_bytes(16)  # AES-128 需要 16 字節密鑰
cipher_suite = AES.new(key, AES.MODE_CBC)

# 加密
data = "Hello, World!"
iv = cipher_suite.iv
encrypted_data = cipher_suite.encrypt(pad(data.encode(), AES.block_size))
encrypted_data = base64.b64encode(iv + encrypted_data)
print("Encrypted data:", encrypted_data)

# 解密
decoded_data = base64.b64decode(encrypted_data)
iv = decoded_data[:AES.block_size]
encrypted_data = decoded_data[AES.block_size:]
cipher_suite = AES.new(key, AES.MODE_CBC, iv)
decrypted_data = unpad(cipher_suite.decrypt(encrypted_data), AES.block_size).decode()
print("Decrypted data:", decrypted_data)

請注意,密鑰和初始化向量(IV)應妥善保管,不要泄露給未經授權的人員。在實際應用中,密鑰和 IV 的生成和管理應該更加嚴格和安全。

0
杭州市| 诸城市| 灵璧县| 平果县| 封开县| 康马县| 沿河| 崇仁县| 文水县| 陵水| 赤城县| 铜梁县| 德兴市| 年辖:市辖区| 阿尔山市| 得荣县| 虎林市| 维西| 广东省| 资中县| 和平县| 贞丰县| 错那县| 苍梧县| 阿拉善盟| 清水河县| 论坛| 潼关县| 西乌珠穆沁旗| 雷波县| 黔江区| 佛坪县| 宝鸡市| 时尚| 安阳县| 阿坝县| 萨迦县| 襄樊市| 乌拉特后旗| 搜索| 台山市|