python rsa实现数据加密和解密,签名加密和验签功能

  

本篇文章主要说明python库rsa生成密钥对,数据的加密解密,api接口的签名和验签,如有抄袭,请留言联系我。

  

  

<代码> pip安装rsa

  

安装好后,请看代码
  

        ”“”   注意:   api签名时:签名用私钥,验签用公钥   数据加密时:加密用公钥,解密用私钥   密钥和公钥保存的图片会在下边展示出来   ”“”   进口rsa   #对api的签名机制进行验证:签名用私钥,验签用公钥   类RsaEncrypt:   def __init__(自我,sign_str):   自我。sign_str=sign_str   def rsa_generate(自我):   ”“”   生成私钥和公钥并保存   返回:   ”“”   #生成公钥和私钥   pubkey privkey=rsa.newkeys (1024)   酒吧=pubkey.save_pkcs1 ()   #公钥   与(“公众开放。w_pub pem”、“白平衡”):   w_pub.write(酒吧)   #私钥   革命制度党=privkey.save_pkcs1 ()   张开(私人。w_pri pem”、“白平衡”):   w_pri.write (pri)   返回“保存成功”   @classmethod   def read_rsa(自我):   ”“”   读取公钥和私钥   返回:   ”“”   与(“公众开放。publickfile pem, rb):   酒吧=publickfile.read ()   pubkey=rsa.PublicKey.load_pkcs1(酒吧)   张开(私人。privatefile pem, rb):   我感到=privatefile.read ()   #打印(酒吧)   privkey=rsa.PrivateKey.load_pkcs1 (priv)   返回pubkey privkey   def str_sign(自我):   privkey=self.read_rsa () [1]   #先将要加密的数据转成二进制   str_encode=self.sign_str.encode ()   #用私钥进行加密,并设置加密算法=rsa签名。号(str_encode privkey, sha - 1) #签名加密算法可以更换比如:sha - 256   #打印(签名)   返回签名   def sign_verify(自我、签名):   ”“”   验证签名是否正确,如果正确,则返回签名算法,否则返回验证失败   :param签名:   返回:   ”“”   pubkey=self.read_rsa () [0]   试一试:   榴弹炮=rsa.verify (self.sign_str.encode(),签名,pubkey)   #打印(类型(榴弹炮))   打印(榴弹炮)#返回加密算法代表验签成功   还真   除了rsa.VerificationError:   打印(“验证失败”)   返回假      #对数据进行加密:加密用公钥,解密用私钥   类DataEncrypt:   def __init__(自我,data_str):   自我。data_str=data_str   自我。secret_key=RsaEncrypt.read_rsa() #调用RsaEncrypt类的读取密钥对方法   def data_encrypt(自我):   ”“”   用公钥对数据进行加密   返回:   ”“”   str_encrypt=rsa.encrypt (self.data_str.encode (), self.secret_key [0])   打印(str_encrypt) #加密后看着像二进制,但有不太像,看不懂   返回str_encrypt   def data_decrypt(自我,加密):   str=rsa.decrypt(加密、self.secret_key [1]) .decode ()   打印(str) #返回加密前的数据   返回str   if __name__==癬_main__”:   #验证签名机制   sing_test=RsaEncrypt('死了——fa/个终身制$ $ $,{}()在& lt; & # 63; L::在“)   sing_test.sign_verify (sing_test.str_sign ())   #验证加密解密机制   data=https://www.yisu.com/zixun/DataEncrypt('死了——fa/个终身制$ $ $,{}()在& lt; & # 63; L::在“)   data.data_decrypt (data.data_encrypt ())      

保存的公钥图片

  

 python rsa实现数据加密和解密,签名加密和验签功能

  

私钥图片:
  

  

 python rsa实现数据加密和解密,签名加密和验签功能

  

  

以上所述是小编给大家介绍的python rsa实现数据加密和解密,签名加密和验签功能,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持。
  如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
  

python rsa实现数据加密和解密,签名加密和验签功能