shop_platform - 串接藍新金流:TradeSha
(本文使用的語言為 python 3) 文件:藍新金流 > API 文件下載 > 多功能收款 MPG。我下載時,版本是 1.6 TradeSha 是什麼 根據文件第 33 頁的第一個表格,需要傳送給藍新金流的參數共有四個,其中一個就是 TradeSha: 根據文件第 70 頁,得到 TradeSha 的方法,是把 TradeInfo 前面加上 HashKey,後面加上 HashIV,然後用 SHA256 做雜湊,接著把所有英文字母轉成大寫。這樣就是合格的 TradeSha。 test case 為: trade_info = 'ff91c8aa01379e4de621a44e5f11f72e4d25bdb1a18242db6cef9ef07d80b0165e476fd1d9acaa53170272c82d122961e1a0700a7427cfa1cf90db7f6d6593bbc93102a4d4b9b66d9974c13c31a7ab4bba1d4e0790f0cbbbd7ad64c6d3c8012a601ceaa808bff70f94a8efa5a4f984b9d41304ffd879612177c622f75f4214fa' key = '12345678901234567890123456789012' iv = '1234567890123456' expect_output = 'EA0A6CC37F40C1EA5692E7CBB8AE097653DF3E91365E6A9CD7E91312413C7BB8' TradeSha 的作用,我猜是藍新金流用來檢查他們收到的 TradeInfo 是否有被篡改。如果有被篡改,他們自己對 TradeInfo 雜湊後的結果,會跟我們傳過去的 TradeSha 值不同。 實作 from Crypto.Hash import SHA256 def get_trade_sha(trade_info: str, key: str = HashKey, iv: str = HashIV) -> str: # 串接 HashKey、TradeSha、HashKey msg = f'H...