python3.7中rsa加密遇到的問題
對於網路上有很多python3.7中rsa加密**,一般都是生成公鑰或者私鑰,測試介面的時候公司一般會規定要使用的公鑰,則**就會報錯拿登入介面測試舉例;
執行如下**,發現報錯,我們公鑰直接傳輸了字串,而rsa.encrypt(message, pub_key )裡的pub_key 是乙個物件;則需要將pub_key 轉化為乙個pem格式物件
修改之後的**:
import rsa
import base64
#匯入秘鑰
#privatekey 字串的開頭和結尾一定要是 rsa private key,否則會報錯
privatekey = """
-----begin rsa private key-----
介面文件裡獲取,或者找開發人員
-----end rsa private key-----
"""publickey = """
-----begin public key-----
介面文件裡獲取,或者找開發人員
-----end public key-----
"""message ='***x' #需要加密的引數
print('before encrypted:',message)
pub_key = rsa.publickey.load_pkcs1_openssl_pem(publickey.encode())#將公鑰由string格式的字串轉化為乙個pem格式的物件
private_key = rsa.privatekey.load_pkcs1(privatekey.encode()) #將私鑰由string格式的字串轉化為乙個pem格式的物件
message = message.encode(encoding='utf-8') #定義引數格式
cryptedmessage = rsa.encrypt(message, pub_key)# 字串用公鑰加密
print('after encrypted:\n',cryptedmessage) # 列印加密後的檔案
key_str_text = base64.b64encode(cryptedmessage) # base64進行二進位制編碼
print(key_str_text)
decryptedmessage = rsa.decrypt(cryptedmessage, private_key) # 將加密的引數用私鑰進行解密
decryptedmessage = decryptedmessage.decode(encoding='utf-8') #定**密後的引數格式
print('after decrypted:',decryptedmessage)
執行**,發現報錯,私鑰的開頭和結尾錯誤,才會報這樣的錯誤
私鑰的定義:
privatekey = 「」"
-----begin rsa private key-----
介面文件裡獲取,或者找開發人員
-----end rsa private key-----
「」"公鑰的定義:
publickey = 「」"
-----begin public key-----
介面文件裡獲取,或者找開發人員
綜上所述:
python3.7進行rsa加密或解密的思路:
根據獲得的公鑰和私鑰字串,一定要轉化為對應的pem格式的物件;
注意公鑰和私鑰字串設定時,開頭和結尾的區別;
私鑰開頭結尾:
公鑰加密的模組,cryptedmessage=rsa.encrypt(message, pub_key);
私鑰解密的模組,decryptedmessage = rsa.decrypt(cryptedmessage, private_key);
python3 7實現base64加密和解密
優點 速度快,ascii字元,肉眼不可理解 缺點 編碼比較長,非常容易被破解,僅適用於加密非關鍵資訊的場合 python中進行base64編碼和解碼 爬蟲分析有時的get post請求中易用此類加解碼import base64 yh 你好,python bm base64.b64encode yh....
Python3 7安裝部署
教你如何在 centos 7 下編譯安裝 python 3.7 與 python 2.7.5 共存。環境 centos 7.6 x64 一 安裝python 3.7 wget 如果沒有wget命令,可以使用命令安裝 yum y install wget 安裝依賴包,避免安裝過程 現的 zipimpo...
linux環境安裝python3 7
我用的是linux centos 6 1 首先安裝依賴包,確認gcc是否安裝,可以用檢視 gcc version 2.如果沒有則進行安裝,需要sudo許可權 yum y install gcc 3.安裝其他依賴包 可以不安裝,但是可能會安裝過程中報錯 yum y install zlib devel...