【python】python如何rsa加解密
·
# -*- coding: utf-8 -*-
import base64
from Crypto.PublicKey import RSA
key = RSA.generate(2048)
private_key = key.export_key() #私钥解密
public_key = key.publickey().export_key() #公钥加密
print(f"私钥是{private_key}\n公钥是{public_key}")
# private_key = RSA.import_key(open('private_key.pem').read()) #加载私钥
# public_key = RSA.import_key(open('public_key.pem').read()) #加载公钥
private_key = RSA.import_key(private_key) #加载私钥
public_key = RSA.import_key(public_key) #加载公钥
#使用公钥加密数据
from Crypto.Cipher import PKCS1_OAEP
cipher = PKCS1_OAEP.new(public_key)
encrypted_data = cipher.encrypt(b'Hello World') #传入的是二进制数据 返回的是加密后的二进制数据
encoded_data = base64.b64encode(encrypted_data).decode('utf-8') #RSA加密后得到的是二进制数据,如果要将其转换为可读的中文字符串,可以使用Base64编码。Base64是一种用于将二进制数据转换为ASCII字符串的编码方式
print(encoded_data)#加密后的数据
# 使用私钥解密数据
from Crypto.Cipher import PKCS1_OAEP
cipher = PKCS1_OAEP.new(private_key)
decrypted_data = cipher.decrypt(encrypted_data) #传入的是二进制数据
print(decrypted_data.decode("utf-8"))

更多推荐
所有评论(0)