使用Python怎么生成一个rsa密钥对?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
具体如下:
# -*- coding: utf-8 -*- import rsa # 先生成一对密钥,然后保存.pem格式文件,当然也可以直接使用 (pubkey, privkey) = rsa.newkeys(1024) pub = pubkey.save_pkcs1() pubfile = open('public.pem','w+') pubfile.write(pub) pubfile.close() pri = privkey.save_pkcs1() prifile = open('private.pem','w+') prifile.write(pri) prifile.close() # load公钥和密钥 message = 'lovesoo.org' with open('public.pem') as publickfile: p = publickfile.read() pubkey = rsa.PublicKey.load_pkcs1(p) with open('private.pem') as privatefile: p = privatefile.read() privkey = rsa.PrivateKey.load_pkcs1(p) # 用公钥加密、再用私钥解密 crypto = rsa.encrypt(message, pubkey) message = rsa.decrypt(crypto, privkey) print message # sign 用私钥签名认证、再用公钥验证签名 signature = rsa.sign(message, privkey, 'SHA-1') rsa.verify('lovesoo.org', signature, pubkey)
对文件进行RSA加密解密
from rsa.bigfile import * import rsa with open('public.pem') as publickfile: p = publickfile.read() pubkey = rsa.PublicKey.load_pkcs1(p) with open('private.pem') as privatefile: p = privatefile.read() privkey = rsa.PrivateKey.load_pkcs1(p) with open('mysec.txt', 'rb') as infile, open('outputfile', 'wb') as outfile: #加密输出 encrypt_bigfile(infile, outfile, pubkey) with open('outputfile', 'rb') as infile2, open('result', 'wb') as outfile2: #解密输出 decrypt_bigfile(infile2, outfile2, privkey)
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。