python 使用RSA加密自己的“班级和姓名”
时间: 2024-12-10 10:49:15 浏览: 7
在Python中,你可以使用rsa库来进行RSA加密。RSA是一种非对称加密算法,它包括两个密钥:公钥和私钥。公钥用于加密数据,私钥用于解密数据。
首先,你需要安装rsa库,可以使用pip命令:
```bash
pip install rsa
```
然后,你可以按照以下步骤操作:
1. 导入必要的模块:
```python
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
```
2. 创建RSA公钥和私钥对:
```python
public_key = RSA.generate(2048)
private_key = public_key.export_key()
```
这里我们生成了一个2048位的密钥对,实际应用中可以根据安全需求调整位数。
3. 将“班级和姓名”转换成字符串并加密:
```python
message = "班级和姓名"
cipher_text = PKCS1_OAEP.new(public_key).encrypt(message.encode('utf-8'))
```
`PKCS1_OAEP.new()`是用于处理RSA加盐散列,`encode('utf-8')`是为了将字符串编码为字节串以便加密。
4. 存储加密后的信息(通常是将公钥和加密后的文本分开存储):
```python
with open("public.pem", "wb") as f:
f.write(public_key.publickey().export_key(format='PEM'))
with open("encrypted.txt", "wb") as f:
f.write(cipher_text)
```
注意,这一步仅保存了公钥,加密后的信息应该保密地保存。
5. 解密:
```python
with open("private.pem", "rb") as f:
private_key = RSA.import_key(f.read())
cipher_text_bytes = None
with open("encrypted.txt", "rb") as f:
cipher_text_bytes = f.read()
decrypted_message = PKCS1_OAEP.new(private_key).decrypt(cipher_text_bytes).decode('utf-8')
print("解密后的内容:", decrypted_message)
```
解密需要使用对应的私钥。
阅读全文