python—-RSA非對稱加密算法
- 2020 年 1 月 10 日
- 筆記
最近在搞項目的接口持續性自動化測試中接觸到很多加密相關的數據,很多項目都會用到非對稱加密算法來保證前端和服務器交互的數據安全。
下面介紹下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
這樣應該比較清楚怎麼使用了,怎麼加密,怎麼解密。