最近爬個網站需要用發現密碼是通過RSA加密的,因此找網上python加密例子,發現都沒有一個比較完整的demo
so,自己寫一個吧~
首先,安裝相應的庫:
1. pyCrypto : pip install pyCrypto
2.pycryptodome: pip install pycryptodome
ps:安裝的pyCrypto是會自動安裝Crypto的,然后你的C是小寫的,手動改成大寫~
然后就沒啥好講的了,貼上代碼:(注意事項在底下說)
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5 as Cipher_pkcsl_v1_5
import base64
msg = 'm123456'
public_key = '''-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2GdFVfnjmqWNfN3m2Hml4pMcm
o66ltA2NHiG0DWuEs2XWVaNL8dAc6/Z/qA2nBXfKg/W/nEzJr6bbSm3oxlGm+AOA
Ennra+YPnS1ocoMbXwM1JUwjH5GbO93xfSDBGvOUE7c30zVkRkasN0vzG0WnoSTR
ErSrz0laLtVq1a980wIDAQAB
-----END PUBLIC KEY-----
'''
a = bytes(msg, encoding="utf8")
rsakey = RSA.importKey(public_key)
cipher = Cipher_pkcsl_v1_5.new(rsakey)
cipher_text = base64.b64encode(cipher.encrypt(a))
print(cipher_text)
注意事項:1. pulic_key格式一定不能錯,必須!!!一定!!!一定要按照上邊那個格式,換行也不行!!!
2. 要加密的明文必須得轉為字節類型哇。