今天一个小伙伴跟来找我说,微信的aes-256-ecb数据,怎么都解析不了,微信官方又没出Demo。附代码:
var_dump(openssl_decrypt(base64_decode($data), 'aes-256-ecb', md5($key)));
看了下,在保证$data和$key正确的情况下,逻辑是没问题。解不了吗?确实解不了。
看了下文档:
options明确要有值。看了下两个常量的值,一个是1,一个是2。但是默认却是0,改为:
$decrypt = base64_decode($data, true);
var_dump(openssl_decrypt(decrypt , 'aes-256-ecb', md5($key), OPENSSL_RAW_DATA));
解析成功,以上还返回false的,就是基础数据问题。
新手测试时要注意在console或者一定要用var_dump来打印。因为解析出来的是xml。