rsa 非对称加密, 公钥加密, 私钥解密, 有公钥无法推导出私钥, 私钥保密
import rsa
n = 1024 # n 越大生成公钥, 秘钥及加密解密所需时间就越长
key = rsa.newkeys(n)#生成随机秘钥 privateKey = key[1]#私钥 publicKey = key[0]#公钥def encryption_rsa(s_msg):
""" :param s_msg: 要加密的str :return: 机密结果bytes """ b_msg = s_msg.encode() crypte_b_msg = rsa.encrypt(b_msg, PublicKey(*public_key)) # 这里是我保存好的公钥, 要转公钥格式, 秘钥同 return crypte_b_msgdef decryption_rsa(crypte_b_msg):
""" :param crypte_b_msg: 要解密的bytes :return: 解密后的str """ b_msg = rsa.decrypt(crypte_b_msg, PrivateKey(*private_key)) s_msg = b_msg.decode() return s_msg