导入maven依赖
<!--国密-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.4.5</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
<version>1.66</version>
</dependency>
源码
package com.example.demo.sm4;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.crypto.SmUtil;
import cn.hutool.crypto.symmetric.SymmetricCrypto;
/**
*SM4Test
* @author larry.xiang
*
*/
public class SM4Test
{
public static void main( String[] args )
{
// String content = "关注java学长,学习java硬技术!";
// SymmetricCrypto sm4 = SmUtil.sm4();
//
// String encryptHex = sm4.encryptHex(content);
// String decryptStr = sm4.decryptStr(encryptHex, CharsetUtil.CHARSET_UTF_8);
// System.out.println(encryptHex+"\r\n"+decryptStr);
String content = "关注java学长,学习java硬技术!";
// key必须是16位
String key="1234567890123456";
SymmetricCrypto sm4 = SmUtil.sm4(key.getBytes());
String encryptHex = sm4.encryptHex(content);
String decryptStr = sm4.decryptStr(encryptHex, CharsetUtil.CHARSET_UTF_8);
System.out.println(encryptHex+"\r\n"+decryptStr);
}
}
说明:key是自定义的秘钥。
运行后:
如果你喜欢我的分享,欢迎关注微信公众号 java学长分享技术干货!
悄悄告诉你免费赠送重磅互联网架构师教程,提升职场技术水平!