1、简介
RSA为非对称加密算法,即加密解密密钥不一致,公私钥成对出现。一般而言,公钥是公开的,在前端页面我们都是可以看到的,而私钥则是不公开的,用于在后端对前端发来的密文进行解密。公钥(以“-----BEGIN PUBLIC KEY-----”开头 “-----END PUBLIC KEY-----” 结尾)
2、实现
import base64 from Crypto.PublicKey import RSA from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcs1_v1_5 def encrypt(password, public_key): """ - rsa 算法加密 :param password: :param public_key: :return: """ # 导入公钥 public_key = ( "-----BEGIN PUBLIC KEY-----\n" + public_key + "\n-----END PUBLIC KEY-----" ) rsakey = RSA.importKey(public_key) # 生成新公钥 cipher = Cipher_pkcs1_v1_5.new(rsakey) # 加密 cipher_text = base64.b64encode(cipher.encrypt(password.encode())) return cipher_text.decode()
3、调用
正常传入待加密字符串、公钥(项目中我是直接在被破解页面找到的,RSA其实本身也支持生成密钥对)
key = RSA.generate(2048) # 提取私钥并存入文件 private_key = key.export_key() file_out = open("private_key.pem", "wb") file_out.write(private_key) # 提取公钥存入文件 public_key = key.publickey().export_key() file_out = open("public_key.pem", "wb") file_out.write(public_key)
标签:公钥,file,前端,RSA,-----,key,public,加密算法 From: https://www.cnblogs.com/shixiaogu/p/16736265.html