在github上找了好多Demo不是报错就是解密不成功,在此梳理一下问题,首先我拿到的密文和密钥在https://tool.hiofd.com/sm4-decrypt-online/这个在线解密的网站上是可以解密成功的以下配上截图:
在截图里我们需要注意的是原文格式、加密模式、填充方式(注:ECB模式不需要iv)
在以上截图中原文格式是HEX,密钥格式也是HEX,表明我们拿到密文和密钥都属于HEX格式的文本,也就是16进制,iOS 做SM4解密时需要的是 Base64,所以我们需要将拿到的密文和密钥都转成Base64在进行解密,这个密文和密钥格式一定要注意,下面附上16进制转Base64的方法
转换完成之后,我们就可以进行解密了,由于文件太长就不展示了,有需要者下面链接自取
链接: https://pan.baidu.com/s/1FSIjLJCpD8hiBVdmX7JW3A 提取码: vw6k