本篇文章主要说明python库rsa生成密钥对,数据的加密解密,api接口的签名和验签,如有抄袭,请留言联系我。
先安装
pip install rsa
安装好后,请看代码
""" 注意: api签名时:签名用私钥,验签用公钥 数据加密时:加密用公钥,解密用私钥 密钥和公钥保存的图片会在下边展示出来 """ import rsa # 对api的签名机制进行验证:签名用私钥,验签用公钥 class RsaEncrypt: def __init__(self, sign_str): self.sign_str = sign_str def rsa_generate(self): """ 生成私钥和公钥并保存 :return: """ # 生成公钥和私钥 pubkey, privkey = rsa.newkeys(1024) pub = pubkey.save_pkcs1() # 公钥 with open('public.pem', 'wb') as w_pub: w_pub.write(pub) # 私钥 pri = privkey.save_pkcs1() with open('private.pem', 'wb') as w_pri: w_pri.write(pri) return "保存成功" @classmethod def read_rsa(self): """ 读取公钥和私钥 :return: """ with open('public.pem', 'rb') as publickfile: pub = publickfile.read() pubkey = rsa.PublicKey.load_pkcs1(pub) with open('private.pem', 'rb') as privatefile: priv = privatefile.read() # print(pub) privkey = rsa.PrivateKey.load_pkcs1(priv) return pubkey, privkey def str_sign(self): privkey = self.read_rsa()[1] # 先将要加密的数据转成二进制 str_encode = self.sign_str.encode() # 用私钥进行加密,并设置加密算法 signature = rsa.sign(str_encode, privkey, 'SHA-1') # 签名加密算法可以更换比如:SHA-256 # print(signature) return signature def sign_verify(self, signature): """ 验证签名是否正确,如果正确,则返回签名算法,否则返回验证失败 :param signature: :return: """ pubkey = self.read_rsa()[0] try: agl = rsa.verify(self.sign_str.encode(), signature, pubkey) # print(type(agl)) print(agl) # 返回加密算法代表验签成功 return True except rsa.VerificationError: print("验证失败") return False # 对数据进行加密:加密用公钥,解密用私钥 class DataEncrypt: def __init__(self, data_str): self.data_str = data_str self.secret_key = RsaEncrypt.read_rsa()# 调用RsaEncrypt类的读取密钥对方法 def data_encrypt(self): """ 用公钥对数据进行加密 :return: """ str_encrypt = rsa.encrypt(self.data_str.encode(), self.secret_key[0]) print(str_encrypt) # 加密后看着像二进制,但有不太像,看不懂 return str_encrypt def data_decrypt(self, encrypt): str = rsa.decrypt(encrypt, self.secret_key[1]).decode() print(str) # 返回加密前的数据 return str if __name__ == '__main__': # 验证签名机制 sing_test = RsaEncrypt('dfad--fa/d.s$$$&{}()><"text-align: center">私钥图片:
总结
以上所述是小编给大家介绍的python rsa实现数据加密和解密、签名加密和验签功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“python rsa实现数据加密和解密、签名加密和验签功能”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2025年01月09日
2025年01月09日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]