参考了网上的案例和项目中实际应用,单独把这块代码搬出来,作为记录,不妥之处,批评指正
import rsa import base64 v_path = 'C:/myapp/pwkeys/' # 加密 def encrypt(text, file_name): pubkey, prikey = rsa.newkeys(256) with open(v_path + 'pubKey.pem', 'w+') as f: f.write(pubkey.save_pkcs1().decode('utf-8')) with open(v_path + 'priKey.pem', 'w+') as f: f.write(prikey.save_pkcs1().decode('utf-8')) # 读取本地公钥 with open(v_path + 'pubKey.pem', 'r') as f: pubkey = rsa.PublicKey.load_pkcs1(f.read().encode('utf-8')) # pem格式加载公钥 # 使用PKCS加密给定的消息,返回类型bytes crypto = rsa.encrypt(text.encode('utf-8'), pub_key=pubkey) # 对于保存,网络传输,打印不乱码,需要通base64编码进行转换 # base64编解码能把一些无法直接用文件本信息编码的二进制数据,转换成常规的二进制数据。 crypto_msg = base64.b64encode(crypto).decode('utf-8') # 加密后的文本信息msg # 保存加密后的信息到本地