作者在 2023-08-11 09:50:00 发布以下内容
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
# 生成RSA密钥对
key = RSA.generate(2048)
# 获取公钥和私钥
public_key = key.publickey()
private_key = key
# 加密字符串
message = 'Hello, world!'
cipher = PKCS1_v1_5.new(public_key)
ciphertext = cipher.encrypt(message.encode())
# 解密字符串
cipher = PKCS1_v1_5.new(private_key)
plaintext = cipher.decrypt(ciphertext, None).decode()
print('加密后的字符串:', ciphertext.hex())
print('解密后的字符串:', plaintext)
1、使用RSA.generate()函数生成一个RSA密钥对。
2、使用key.publickey()获取公钥,key获取私钥。
3、使用公钥对字符串进行加密,使用私钥对密文进行解密。
在加密时,使用PKCS1_v1_5.new()函数创建一个RSA加密器对象,调用encrypt()函数对字符串进行加密。
在解密时,使用PKCS1_v1_5.new()函数创建一个RSA解密器对象,调用decrypt()函数对密文进行解密,其中第二个参数传入None表示使用默认的加密填充方式。