温馨提示×

python rsa加密解密怎么实现

小亿
170
2023-10-26 02:38:34
栏目: 编程语言

在Python中,可以使用cryptography库来实现RSA加密和解密。以下是一个示例:

from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.primitives.asymmetric import rsa, padding

# 生成RSA密钥对
private_key = rsa.generate_private_key(
    public_exponent=65537,
    key_size=2048,
    backend=default_backend()
)
public_key = private_key.public_key()

# 使用公钥加密
message = b"Hello, world!"
encrypted = public_key.encrypt(
    message,
    padding.OAEP(
        mgf=padding.MGF1(algorithm=hashes.SHA256()),
        algorithm=hashes.SHA256(),
        label=None
    )
)

# 使用私钥解密
decrypted = private_key.decrypt(
    encrypted,
    padding.OAEP(
        mgf=padding.MGF1(algorithm=hashes.SHA256()),
        algorithm=hashes.SHA256(),
        label=None
    )
)

print("原始消息:", message)
print("加密后:", encrypted)
print("解密后:", decrypted)

在上面的示例中,首先使用rsa.generate_private_key函数生成RSA密钥对。然后使用公钥对消息进行加密,使用私钥对加密后的数据进行解密。最后,打印出原始消息、加密后的数据和解密后的数据。

请注意,cryptography库需要事先安装,可以使用以下命令进行安装:

pip install cryptography

0