Day 5 - 安全签章: 取得 SHA256 加密後的 Sign 值

图 5-1
图 5-1: 各栏位资料范例

Day 2 我们知道了取得 Nonce 的方法。在 Day 3 了解了使用永丰金技术客服给我们的四组杂凑值去计算出 HashId。而 Day 4,则是计算出安全签章 Sign 的最後一块拼图 - 讯息内文杂凑。

组装 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 栏位的加密说明,完成後就可以正式送出建立订单的请求罗。


本文更新於笔者的 TerryL 部落格,Day 5 - 安全签章: 取得 SHA256 加密後的 Sign 值,有兴趣可前往阅读及讨论。


<<:  Day7 Collectionview小实作1

>>:  DAY 7- 《区块密码1》DES(1)- 加密过程

每个人都该学的30个Python技巧|技巧 14:什麽都能装的百宝袋—串列(List)(下)(字幕、衬乐、练习)

昨天认识了一个新的资料型态叫做串列,其中有提到怎麽建立还有怎麽读取元素,但是!!那个方法一次只能提取...

Day[-4] 今天我想来点Kibana的Map Chart -4

贺喜 撑过连假大魔王的第二波攻势 我存活下来了~~~ 好的今天要来分享的地图呈现方式是heat ma...

[Day16] 再战SAT

今天花了一整天Debug,一直看为甚麽「Not Work」,单纯纪录一下流程。 今日目标 修好昨天的...

Day 12:AWS是什麽?30天从动漫/影视作品看AWS服务应用 -《JoJo的奇妙冒险》第三季 part 2

希望前一日的吉良吉影解说还是够ㄎ一ㄤ,大家不要向大会检举有人在呼麻写文章QQ 虽说Jojo不相称的经...

Day 5 : 基本常识以及变数

今天终於可以开始来学习程序了,在这之前有一些程序语言的基本常识要知道: 基本观念 程序的执行: 程序...