云服务器 99 / 年,新老同享(可以99/年续费),开发者力荐特惠渠道,新客户在享受9折
阿里云推广

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

?>

 

结果:

1.jpg

 

 

本文标签:

版权声明:若无特殊注明,本文皆为《菜鸟站长》原创,转载请保留文章出处。

本文链接:记录一次和工行对接对方提供的aeskey是24位字符串 - https://wlphp.com/?post=272

发表评论

电子邮件地址不会被公开。 必填项已用*标注