lpilp/phpsm2sm3sm4

使用sm4-ecb提示Uncaught Exception: 秘钥长度为16位

Closed this issue · 2 comments

java那边给我的加密后的秘钥是32位的2beedbfe8361da78459235de842c8ac2加密前的key也是32位的,传入new RtSm4($key)报Uncaught Exception: 秘钥长度为16位。请完可以如何解决

lpilp commented

这个16是指字节(bin),32位的是hex 的, 32位的做一个 hex2bin就行了

感谢大佬的回答,是的
$client_secret = '32位的16进制字符串'
$skMd5 = md5($client_secret);
$key = hex2bin($skMd5);
这样就可以了