[求助] 使用 python 第三方庫 pycryptodome 進行 RSA 加密得到的結果,發起請求,介面接收到請求後,開發 Java 程式碼私鑰解密後請求引數會亂碼
【求助】使用python第三方庫pycryptodome進行RSA加密得到的結果,發起請求,介面接收到請求後,開發Java程式碼私鑰解密後請求引數會亂碼。
示例
請求引數:
{
"Timestamp":"2020-04-25 17:11:01.039"
}
解密後結果:
�Q&��H�sk��Χr���?6��{\��`0��j{"Timestamp":"2020-04-28 19:15:01.039"}
python程式碼:
def rsa_utils(pub_key, message):
message = json.dumps(message, ensure_ascii=False, separators=(',', ':'))
message = message.replace("\n", "")
msg = message.encode("UTF-8")
length = len(msg)
print(length)
default_length = 245
# 公鑰加密
public_key = "-----BEGIN PUBLIC KEY-----\n" + pub_key + "\n-----END PUBLIC KEY-----"
pubobj = PKCS1_v1_5.new(RSA.importKey(public_key))
# 長度不用分段
if length < default_length:
# print("True")
return (base64.b64encode(pubobj.encrypt(msg))).decode("utf-8")
# 需要分段
else:
offset = 0
res = []
while length - offset > 0:
if length - offset > default_length:
res.append(pubobj.encrypt(msg[offset:offset + default_length]))
else:
res.append(pubobj.encrypt(msg[offset:]))
offset += default_length
byte_data = b''.join(res)
# return base64.b64encode(byte_data)
return (base64.b64encode(byte_data)).decode("utf-8")
麻煩知道原因的同學解答一下,非常感謝!
相關文章
- python收到MQTT訊息後再發http請求PythonMQQTHTTP
- 有趣的請求引數/請求頭
- 前端呼叫介面成功但後端沒收到請求前端後端
- 微信小程式-發起請求微信小程式
- 跨域ajax請求,伺服器會收到請求嗎?跨域伺服器
- GET請求引數為中文時亂碼分析
- Blazor Server 發起HttpPost請求,但是多引數BlazorServerHTTP
- mark java發起http請求的方式JavaHTTP
- vue 發起get請求和post請求Vue
- golang使用fasthttp 發起http請求GolangASTHTTP
- 使用request庫的get方法發起GET請求
- Solaris上中文請求亂碼
- Postman傳送請求引數是Map格式的請求Postman
- POST發起下載請求
- CCHttpClient發起https請求HTTPclient
- 發起GPRS撥號請求
- SpringMVC學習(三)對映請求引數&請求引數SpringMVC
- windows中使用cmd發起http請求WindowsHTTP
- iOS 同步請求 非同步請求 GET請求 POST請求iOS非同步
- 利用hutool發起自定義編碼格式的請求
- ajax中POST請求與引數(請求體)設定
- 請求重定向和請求轉發的區別
- 使用AFNetworking進行引數形式的GET請求
- 原始碼分析Gateway請求轉發原始碼Gateway
- fiddler 修改請求介面的返回結果
- 如何根據介面請求型別和請求方法,自動執行對應請求型別
- apisix~按域名進行請求轉發API
- [JS] IE下ajax請求不生效或者請求結果不更新JS
- 當使用者發起資料請求後,ADAMoracle如何操作Oracle
- HTTP協議如何發起請求HTTP協議
- 請求引數的傳遞
- python併發執行request請求Python
- jmeter 如何將上一個請求的結果作為下一個請求的引數——使用正則提取器JMeter
- 解決.NET Core Ajax請求後臺傳送引數過大請求失敗問題
- 如何使用事務碼SMICM分析ABAP程式碼發起的HTTP請求的錯誤HTTP
- SpringMVC中如何傳送GET請求、POST請求、PUT請求、DELETE請求。SpringMVCdelete
- 前端傳送的請求,是如何請求到後端服務的?前端後端
- iOS開發 支援https請求以及https請求的抓包iOSHTTP