python rsa 加密

时间:2023-03-09 00:12:03
python rsa 加密

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_msg

def 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