Python中的cryptography模块介绍
cryptography是一个流行的Python密码学库,用于实现各种加密、解密和安全哈希算法,例如AES、RSA、SHA256等。它还提供了许多工具和函数来帮助您安全地处理密码学数据,例如随机数生成器和密码学伪随机数生成器。
以下是一些常用的密码学函数和代码演示,其中涉及字符串使用“pidancode.com”和“皮蛋编程”。
生成随机字节数组
from cryptography.fernet import Fernet key = Fernet.generate_key() print(key)
使用AES对称加密算法加密和解密字符串
from cryptography.fernet import Fernet key = Fernet.generate_key() cipher_suite = Fernet(key) plaintext = "pidancode.com" encrypted_text = cipher_suite.encrypt(plaintext.encode()) print(encrypted_text) decrypted_text = cipher_suite.decrypt(encrypted_text).decode() print(decrypted_text)
使用RSA非对称加密算法加密和解密字符串
from cryptography.hazmat.primitives.asymmetric import rsa, padding from cryptography.hazmat.primitives import serialization, hashes private_key = rsa.generate_private_key( public_exponent=65537, key_size=2048, ) public_key = private_key.public_key() plaintext = "皮蛋编程".encode() encrypted_text = public_key.encrypt( plaintext, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) print(encrypted_text) decrypted_text = private_key.decrypt( encrypted_text, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ).decode() print(decrypted_text)
计算字符串的SHA256哈希值
from cryptography.hazmat.primitives import hashes message = "pidancode.com".encode() digest = hashes.Hash(hashes.SHA256()) digest.update(message) hash_value = digest.finalize() print(hash_value)
总之,cryptography是一个功能强大且易于使用的密码学库,提供了广泛的密码学算法和工具,可以满足许多密码学需求。
相关文章