lpilp / phpsm2sm3sm4

php版本,支持国密SM2的签名算法,非对称加解密,SM3的hash, SM4的对称加解密
320 stars 74 forks source link

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

Closed machiming closed 12 months ago

machiming commented 12 months ago

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

lpilp commented 12 months ago

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

machiming commented 12 months ago

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