还是一样先上图
终於来到第六点了!!!可喜可贺
看一下文件中产生Message的方法
5.5.2. IV 计算
产出 IV 值前必须要先行取得 Nonce 後才能产生,计算方式是将取得的 Nonce 值
作 SHA256 加密後,再将英文转换成大写取字串右边 16 码长度
(例:CB6FA68E42B655AB)
//取得 IV 计算方法
function getIV($nonce){
$data = SHA256($nonce);
return substr($data, strlen($data) - 16, 16);
}
//SHA256 後字串转大写
function SHA256($data){
return strtoupper(hash('sha256', $data));
}
取得IV的方法比较单纯基本上就照着文件的流程下去编写即可,
来看主角Message的取得
来人先上范例
//$data 为api所需参数的json格式
//$key 就是我们先前提到的hashId
//AES CBC 加密
function EncryptAesCBC($data, $key, $iv) {
$result = '';
$padding = 16 - (strlen($data) % 16);
$data .= str_repeat(chr($padding), $padding);
$encrypt = openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv);
$result = strtoupper(bin2hex($encrypt));
return $result;
}
这边如果有google怎麽做aes cbc加密,
应该都会看到openssl_encrypt函式的一些使用方式,
但除非你有经验,或者偷看答案,不然根本找不到下面code的线索
$padding = 16 - (strlen($data) % 16);
$data .= str_repeat(chr($padding), $padding);
因此串接第三方有个秘诀叫做倒果为因,先去看范例或者前人提供的解答,
然後再去了解整个过程,这也是为什麽很多第三方需要提供范例的原因,
这部份先前取得hashId的部份也是同样的原理。
回到程序,透过范例我们可以取得加密过後的讯息内文,
加上前几天的Nonce、HashID、Sign这样我们要发送api所需的参数都已经到齐了,
明天我们整理一下之後就准备call api啦!
<<: IOS、Python自学心得30天 Day-9 模组训练改善-1
>>: [Day 7] Leetcode 621. Task Scheduler (C++)
前言 这篇文章超级适合给manager们,特别是那些非常重视团队成员成长的领导人们。或许你曾经尝试...
-电子发现参考模型 证据开示,在英美法关系法域中,是诉讼中的一种预审程序,当事人通过民事诉讼法,可...
在上一篇的内容中,已经介绍到了该如何写一个组件并完成应用了,现在再继续进入更深一点的运用吧~ 对於 ...
前言 架设php最简单的方法,大概是用xampp。但是有时候专案会用到不同php版本,需要切换。就算...
以下内容皆参考 Backtrader 官网 之前介绍了 shioaji 如何取得资料, 下单,也介绍...