python编写RSA数据加密工具类
时间: 2023-11-15 19:52:42 浏览: 130
使用Python编写出的文件加密和解密程序
5星 · 资源好评率100%
以下是一个Python编写的RSA数据加密工具类示例:
```python
import rsa
class RSAEncryption:
def __init__(self, public_key, private_key):
self.public_key = public_key
self.private_key = private_key
def encrypt(self, data):
"""使用公钥加密数据"""
return rsa.encrypt(data.encode(), self.public_key)
def decrypt(self, data):
"""使用私钥解密数据"""
return rsa.decrypt(data, self.private_key).decode()
```
使用示例:
```python
# 生成RSA密钥对
(public_key, private_key) = rsa.newkeys(512)
# 初始化RSAEncryption对象
rsa_encryptor = RSAEncryption(public_key, private_key)
# 使用公钥加密数据
encrypted_data = rsa_encryptor.encrypt("Hello World")
# 使用私钥解密数据
decrypted_data = rsa_encryptor.decrypt(encrypted_data)
print(decrypted_data) # 输出:Hello World
```
说明:
- RSAEncryption类接收公钥和私钥作为构造函数的参数。
- encrypt()方法使用公钥加密数据,返回加密后的数据。
- decrypt()方法使用私钥解密数据,返回解密后的明文数据。
- 在使用示例中,我们使用rsa模块生成了一个512位的RSA密钥对,并将其传递给RSAEncryption对象。然后,我们使用encrypt()方法加密了一个字符串,再使用decrypt()方法解密得到明文字符串,并输出了结果。
阅读全文