公钥密码rsa算法代码
时间: 2024-05-02 07:14:56 浏览: 9
RSA算法是一种非对称加密算法,它使用一对密钥,即公钥和私钥,其中公钥用于加密数据,私钥用于解密数据。下面是一个简单的Python代码示例,用于生成RSA密钥对、加密和解密数据:
```python
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
# 生成RSA密钥对
key = RSA.generate(2048)
private_key = key.export_key()
public_key = key.publickey().export_key()
# 加密数据
def encrypt_data(data, public_key):
rsa_key = RSA.import_key(public_key)
cipher = PKCS1_OAEP.new(rsa_key)
encrypted_data = cipher.encrypt(data.encode())
return encrypted_data
# 解密数据
def decrypt_data(encrypted_data, private_key):
rsa_key = RSA.import_key(private_key)
cipher = PKCS1_OAEP.new(rsa_key)
decrypted_data = cipher.decrypt(encrypted_data)
return decrypted_data.decode()
# 示例使用
message = "Hello, RSA!"
encrypted_message = encrypt_data(message, public_key)
decrypted_message = decrypt_data(encrypted_message, private_key)
print("原始消息:", message)
print("加密后的消息:", encrypted_message)
print("解密后的消息:", decrypted_message)
```
请注意,上述代码使用了`Crypto`库来实现RSA算法。你可以使用`pip install pycryptodome`命令来安装该库。