添加依赖配置
<!-- 仓库地址: https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<!-- org.apache.commons.codec.binary.Base64 -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
<!-- 国密 sm4 依赖jar包 -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.68</version>
</dependency>
国密SM4并采用CBC分组填充模式,密钥长度为16字节。nonce为16字节,加密使用的nonce和加签一致。
1、密钥为提供提供,nonce为请求中随机生成的字符串
2、使用nonce作为iv
3、使用key、iv,对敏感数据进行加密,得到JSON形式的资源对象
4、对JSON形式的资源对象进行 Base64 编码
工具类实现,如下代码对iv赋值做了简写,可结合自身需要修改:
import com.alibaba.fastjson2.JSON;
import com.risk.decision.params.ConfirmParams;
import org.apach

文章介绍了如何在Java项目中使用国密SM4算法,配合CBC模式进行加密和解密,使用Base64编码资源对象,以及提供的工具类实现和测试案例。

2万+

被折叠的 条评论
为什么被折叠?



