记录一次和工行对接对方提供的aeskey是24位字符串
1.首先看见这个24位字符串心里很慌,因为php的版本的openssl函数的aes加密密钥超过16位后面的就不参与加密了,如果是这样银行加密后的密文,php肯定无法解密。后来通过看java版本sdk才发现,这个24位字符串并不是aes的最终密钥。而是先把这个24位字符串base64解码得到一个16位的包含乱码的字符串。
2.我们把这个24位字符串base64解码后的16位key,拆成16位,10进制的askii码,看下代码和运行结果。
<?php
$miyao = base64_decode("hnVjMkdWsINzZYbDlRWbQQ==");
var_dump($miyao);
$arr = array();
foreach(str_split($miyao) as $v) {
$arr[] = sprintf("%d", ord($v));
}
print_r($arr);
?>
结果:
版权声明:若无特殊注明,本文皆为《菜鸟站长》原创,转载请保留文章出处。
本文链接:记录一次和工行对接对方提供的aeskey是24位字符串 - https://wlphp.com/?post=272