Python rsa加密
时间: 2024-12-18 11:12:49 浏览: 5
python rsa 加密解密
Python中rsa(Rivest–Shamir–Adleman)是一种非对称加密算法,用于加密和解密数据。它是基于大数因子分解的困难性,由三个人共同发明:Ron Rivest、Adi Shamir和Leonard Adleman。RSA主要包含两个关键操作:公钥加密和私钥解密。
首先,你需要安装`cryptography`库,这是一个强大的密码学工具包,其中包括RSA功能。下面是一个简单的示例:
```python
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives.asymmetric.rsa import RSAPublicKey, RSAPrivateKey
from cryptography.hazmat.backends import default_backend
# 生成一对RSA密钥对
private_key = RSAPrivateKey.generate(2048, default_backend())
public_key = private_key.public_key()
# 对明文进行加密
plaintext = b'some secret message'
cipher_text = public_key.encrypt(
plaintext,
padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
)
)
# 对密文进行解密
decrypted_text = private_key.decrypt(cipher_text, padding.OAEP(
mgf=padding.MGF1(algorithm=hashes.SHA256()),
algorithm=hashes.SHA256(),
label=None
))
print("Original message:", plaintext)
print("Encrypted message:", cipher_text)
print("Decrypted message:", decrypted_text)
```
在这个例子中,我们创建了一个2048位的RSA密钥对,然后用公钥加密了一段文本,再用私钥解密。请注意,实际应用中你需要妥善保管和保护好你的私钥,因为一旦泄露,任何人都能解密你的信息。
阅读全文