python----RSA非对称加密算法使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python----RSA非对称加密算法使用相关的知识,希望对你有一定的参考价值。

最近在搞项目的接口持续性自动化测试,好久没有更新博客了。

项目中接触到很多加密相关的数据,很多项目都会用到非对称加密算法来保证前端和服务器交互的数据安全。

下面介绍下python下怎么使用RSA加密算法:

import rsa 

(publickey,privatekey)=rsa,newkeys(1000)#对数字1000加密得到公钥和私钥
pub = publickey.save_pkcs1()#获取公钥
#将公钥保存到文件*************
filepub = open("public.pem",‘w+‘)
filepub.write(pub.encode(‘utf-8‘))
filepub.close()

pri = privatekey.save_pkcs1()#获取私钥
#将私钥保存到文件***********
filepri = open(‘private.pem‘,‘w+‘)
filepri.write(pri.encode(‘utf-8‘))
filepri.close()

string = "laomomoblog"#待加密的字符串

#取出公钥
with open(‘publick.pem‘,‘r‘) as file_pub:
     f_pub = file_pub.read()
     pubkey = rsa.PublicKey.load_pkcs1(f_pub)

#取出私钥
with open(‘private.pem‘,‘r‘) as file_pri:
     f_pri =file_pri.read()
     prikey = rsa.PrivateKey.load_pkcs1(f_pri)

#加密字符串string

crypt = rsa.encryt(string.encode(‘utf-8‘),pubkey)#使用公钥去加密字符串

#解密
de_crypt = rsa.decrypt(crypt,prikey)#用私钥去解密

#解出来的de_crypt与string应该是相等的,判断一下
assert string,de_crypt

这样应该比较清楚怎么使用了,怎么加密,怎么解密。

以上是关于python----RSA非对称加密算法使用的主要内容,如果未能解决你的问题,请参考以下文章

Python3 - RSA双向加解密(详解)

Python3 - RSA双向加解密(详解)

Python3 - RSA双向加解密(详解)

Python3 - RSA双向加解密(详解)

非对称加密及RSA加密算法

对称加密算法以及使用方法