Day 2 我們知道了取得 Nonce 的方法。在 Day 3 瞭解了使用永豐金技術客服給我們的四組雜湊值去計算出 HashId。而 Day 4,則是計算出安全簽章 Sign 的最後一塊拼圖 - 訊息內文雜湊。

圖 5-1
圖 5-1: 各欄位資料範例

組裝 Sign 值

我們只距離拿到加密後的 Sign 值只差一步。來複習一下文件第 13 頁,關於組裝 Sign 值的方法。

圖 5-2
圖 5-2: 文件第 13 頁。

API 文件的說明指的是訊息內文雜湊的字串尾端接著 Nonce,然後再接著 HashId,是字串附加 (append) 的動作。以下流程圖可以清楚說明整個步驟。

流程圖

圖 5-3
圖 5-3: 取得 Sign 的流程

標著螢光綠的字串為 Nonce 值,標著螢光黃的字串為 HashId,最後再進行 SHA256 加密,取得的字串則是 Sign 值。如果使用的程式語言在加密後的字串是小寫字母,務必轉為大寫。

SHA256 加密

在 PHP 的世界中,要進行 SHA256 加密真的很容易,只要使用 hash 這個函式即可。

例:

<?php
hash('sha256', $string);

詳細的用法可參閱 PHP 官方說明文件中關於 hash 函式的說明

圖 5-4
圖 5-4: PHP 範例

如上圖所示,第 29 行為內文雜湊,第 30 行為 Nonce 值,第 31 行為 HashId。最後我們在第 33 行,將以上的合併字串進行 SHA256 加密之後轉為大寫字元即為我們要的安全簽章 - Sign 值。

A3EAEE3B361B7E7E9B0F6422B954ECA5D54CEC6EAB0880CB484AA6FDA4154331

接著,明天我們要進行 Message 欄位的加密說明,完成後就可以正式送出建立訂單的請求囉。

最後修改日期: 2022-02-05

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。