材料准备
java算法库
https://github.com/hyfree/SM2_SM3_SM4Encrypt
https://github.com/PopezLotado/SM2Java
说明
上面的两个算法库还是可以使用的,不过还是存在几个问题:
1.BigInteger在直接处理成16进制时会溢出一位,
关于这个问题stackoverflow有说明
https://stackoverflow.com/questions/4407779/biginteger-to-byte
2.国密参数和USERID
项目中使用的国密可能不是推荐的参数,需要改成标准参数
另外USERID需要做转换工作,基于ASCII编码
关注的项目
支持国密SM2/SM3/SM4/SM9/ZUC/SSL的密码工具箱
http://gmssl.org/