rsa加密解密算法python实现
时间: 2023-07-30 21:09:49 浏览: 164
RSA加密算法是一种非对称加密算法,它需要一对公私钥,并且加密和解密过程中使用的是不同的密钥。
以下是Python中实现RSA加密解密算法的完整代码:
```python
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
# 生成一对公私钥
key = RSA.generate(2048)
private_key = key.export_key()
public_key = key.publickey().export_key()
# 定义加密函数
def encrypt(message):
cipher = PKCS1_OAEP.new(RSA.import_key(public_key))
encrypted_data = cipher.encrypt(message.encode())
return encrypted_data
# 定义解密函数
def decrypt(ciphertext):
cipher = PKCS1_OAEP.new(RSA.import_key(private_key))
decrypted_data = cipher.decrypt(ciphertext)
return decrypted_data.decode()
# 加密
encrypted_data = encrypt('Hello World')
print(encrypted_data)
# 解密
decrypted_data = decrypt(encrypted_data)
print(decrypted_data)
```
需要注意的是,在实际使用中,RSA加密算法的密钥长度越长,加密的强度就越高,但加密解密的速度也会变慢。在选择密钥长度时需要根据实际需求进行取舍。
阅读全文