PHP菜鸟博客_共同学习分享PHP技术心得【PHP爱好者】
记录一次和工行对接对方提供的aeskey是24位字符串
2021-5-11 菜鸟站长


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);



?>



 



结果:


1.jpg


 



 

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容