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);
?>
结果: