首先,确保你已经安装了 cryptography
库。如果没有安装,你可以通过以下命令安装它:
pip install cryptography
接下来,我们将创建一个使用RSA算法的示例,用于对数据进行加密和解密。这个案例将涵盖密钥生成、加密、解密等过程。
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import serialization
private_key = rsa.generate_private_key(
public_exponent=65537,
key_size=2048
)
public_key = private_key.public_key()
pem = private_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.PKCS8,
encryption_algorithm=serialization.NoEncryption()
)
with open("private_key.pem", "wb") as f:
f.write(pem)
data_to_encrypt = b"这是需要加密的数据。"
encrypted_data = public_key.encrypt(
data_to_encrypt,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
print("加密后的数据:", encrypted_data)
decrypted_data = private_key.decrypt(
encrypted_data,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
print("解密后的数据:", decrypted_data.decode("utf-8"))