import cn.hutool.crypto.symmetric.SymmetricCrypto;/*** @author : chenfan* @className : SM4Utils* @date : Created in 2022/11/3 13:55* @description :国密算法SM4加解密工具类*//*** 国密SM4分组密码算法工具类(对称加密)*/
public class SM4Utils {//SM4-加密public static String encryptSm4(String plaintext, String key) {//指明加密算法和秘钥SymmetricCrypto sm4 = new SymmetricCrypto("SM4/ECB/PKCS5Padding", key.getBytes());return sm4.encryptHex(plaintext);}//SM4-解密public static String decryptSm4(String ciphertext, String key) {//指明加密算法和秘钥SymmetricCrypto sm4 = new SymmetricCrypto("SM4/ECB/PKCS5Padding", key.getBytes());return sm4.decryptStr(ciphertext);}public static void main(String[] args) {String content = "Hello SM4 国密算法";String key = "pGmo2jZkrR8JqlQn";String plain = encryptSm4(content, key);String cipher = decryptSm4(plain, key);System.out.println(plain + "\n" + cipher);}}

运行结果:

国密算法-SM4加解密工具类相关推荐

  1. java sm3国密算法加密、验证工具类

    java sm3国密算法加密.验证工具类 说明 maven依赖 完整代码 测试 说明 由于本人并不专于算法和密码学,所以如果发现工具类存在问题或者可优化地方,欢迎评论处提出. 工具类也可以直接使用封装 ...

  2. 国密算法SM2加解密_签名验签图形化例子

    点击上方蓝字可直接关注!方便下次阅读.如果对你有帮助,麻烦点个在看或点个赞,感谢~ 国密SM2概述 对国密算法有了解的朋友看到SM2可能会先想到非对称加密,之前的SM4是对称加密.SM4加解密使用的是 ...

  3. 国密算法SM2加解密,签名和验签java语言

    SM2加解密java语言 maven项目 引入bcprov-jdk15on <dependency><groupId>org.bouncycastle</groupId& ...

  4. 国密算法SM2加解密数据,解密出现异常

    参考开源项目:https://github.com/ZZMarquis/gmhelper 旧标准的加密排序C!C2C3 新标准 C!C3C2 C1为65字节第1字节为压缩标识,这里固定为0x04,后面 ...

  5. Java各种方式加解密工具类

    文章目录 前言 1.AES 2.DES 3.BCrypt 4.Http Basic 5.MD5 6.RSA 7.SHA256 8.SM3 9.SM4 前言 JAVA能够实现各种加解密方式,这里对各种加 ...

  6. rsa java ao_RSA加解密工具类

    Java 实现 import java.security.KeyFactory; import java.security.KeyPair; import java.security.KeyPairG ...

  7. java aes 工具类_Java中的AES加解密工具类:AESUtils

    本人手写已测试,大家可以参考使用 package com.mirana.frame.utils.encrypt; import com.mirana.frame.constants.SysConsta ...

  8. 关于国密算法SM4的流程

    关于国密算法SM4的流程 原来用于无线局域网的国密算法SMS4被定义为SM4作为密码行业标准发布.SM4是一个分组对称密钥算法,明文.密钥.密文都是16字节,加密和解密密钥相同.通过32次循环的非线性 ...

  9. PHP实现国密算法SM4

    关于什么是国密算法,我就不多赘述了,好奇的可以看这位博主的文章,好像有简易文档的下载链接(百度文库好像也有) 传送门: http://blog.csdn.net/archimekai/article/ ...

最新文章

  1. mysql 编译_mysql 5.7 编译——VS2017
  2. windows在命令行中查看当前路径
  3. 5G的频谱效率,到底有多高
  4. 前端学习(3124):react-hello-react之批量传递props
  5. xp系统如何开启共享服务器,xp系统怎么关闭共享服务 xp系统共享打印机如何设置...
  6. 厦门理工学院c语言实验循环,厦门理工学院c语言实验4_循环答案).doc
  7. Python的pyproject.toml文件中的tool.poetry.dev-dependencies选项
  8. php编写半径为4圆的周长,在C++中编写程序输入半径计算圆的周长和面积,来学习吧...
  9. linux怎么查看服务器主频,Linux环境下查看服务器硬件信息
  10. 没有月亮的中秋,有CCNP伴我度过!
  11. matlab节约里程法_求助节约算法MATLAB代码
  12. php mysql 博客,PHP操作MySQL
  13. ssh和ssm的区别,好处
  14. python学习实验报告(第五周)
  15. 新手学计算机专用鼠标垫,CS迷注意!教你自制高级鼠标垫
  16. 卡券、直充下单接口文档
  17. ABAP CDS(Core Data Service)的创建和使用
  18. 如何判断一棵二叉树是完全二叉树
  19. 【Linux基本操作】Day1
  20. 泰国海外漫游卡业务介绍

热门文章

  1. linux查看wifi信号命令_Linux查看WiFi SSID密码的方法
  2. stringtokenizer java_java使用StringTokenizer字符串分割
  3. Markdown快速入门和扩展内容(Typora)
  4. python和matlab编程 pdf,跟老齐学Python 从入门到精通pdf
  5. 如何去除视频中的水印?视频去水印方法分享
  6. Oracle实验五 PL/SQL编程
  7. Python的类属性与对象属性的区别
  8. 2016最受瞩目的十一个顶级安全会议
  9. spring之Aware接口
  10. CarSim和Simulink联合仿真-无人驾驶