记录一次和工行对接对方提供的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) {undefined

   $arr[] = sprintf("%d", ord($v));

}

print_r($arr);


?>


结果:

记录一次和工行对接对方提供的aeskey是24位字符串

上一篇:Python 第一篇


下一篇:UML之接口