在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