bouncycastle JAVA实现SM3算法(国密3)

  • bouncycastle 早在1.5版本就已经支持SM3算法

bouncycastle 早在1.5版本就已经支持SM3算法

下面是一个简单的实例

先引入maven

<dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15on</artifactId><version>1.69</version></dependency>

下面是实现实例

SM3Digest sm3Digest=new SM3Digest();
byte[] srcData = "abc".getBytes();
sm3Digest.update(srcData,0,srcData.length);
byte[] hash = new byte[sm3Digest.getDigestSize()];
sm3Digest.doFinal(hash, 0);
System.out.println("sm3加密11111:"+SM3.byteArrayToHexString(hash));
//假如输出为66C7F0F462EEEDD9D1F2D46BDC10E4E24167C4875CF2F7A2297DA02B8F4BA8E0就说明符合SM3算法要求private static char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8','9', 'A', 'B', 'C', 'D', 'E', 'F'};
public static String byteArrayToHexString(byte[] b) {StringBuffer resultSb = new StringBuffer();for (int i = 0; i < b.length; i++) {resultSb.append(byteToHexString(b[i]));}return resultSb.toString();}private static String byteToHexString(byte b) {int n = b;if (n < 0)n = 256 + n;int d1 = n / 16;int d2 = n % 16;return ""+hexDigits[d1] + hexDigits[d2];}

bouncycastle JAVA实现SM3算法相关推荐

  1. 国密算法(SM3)java语言的实现:利用bcprov和huttol库来实现SM3算法,国产哈希算法

    SM3简介: SM3是国产哈希算法 SM3采用的一种密码散列函数标准,由国家密码管理局于2010年12月17日发布.相关标准为"GM/T 0004-2012 <SM3密码杂凑算法> ...

  2. Java 国密算法 SM3 散列哈希使用

    Java 国密算法 SM3 散列哈希使用 文章目录 Java 国密算法 SM3 散列哈希使用 引入依赖 计算散列哈希 引入依赖 <dependency><groupId>org ...

  3. 【国产加密算法-java实现SM3】

    国产加密算法-java实现SM3 一.国产加密算法介绍 国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2).SM2.SM3.SM4.SM7.SM9.祖冲之密码算法(ZUC)那等等. 其 ...

  4. java基础----Base64算法的使用

    Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息.详细的Base64信息,可以参见维基百科:https://en.wikipedia.org ...

  5. Java密码学原型算法实现——第二部分:单钥加密算法

    题注 本部分为单钥加密算法的实现.单钥加密体制是密码学加密中的核心密码学原型之一,很早很早前人类就已经开始了单钥密码学体制的研究.本部分的所有实现基于Bouncy Castle库,其地址详见我上一篇博 ...

  6. Java 数据结构与算法系列之冒泡排序

    一.前言 相信大部分同学都已经学过数据结构与算法这门课了,并且我们可能都会发现一个现象就是我们所学过的数据结构与算法类的书籍基本都是使用 C 语言来写的,好像没见过使用 Java 写的数据结构与算法. ...

  7. Java数据结构与算法——树(基本概念,很重要)

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 有网友私信我,期待我的下一篇数据结构.非常荣幸文章被认可,也非常感谢你们的监督. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督 ...

  8. Java常见排序算法

    Java常见排序算法 转载于:https://www.cnblogs.com/hfultrastrong/p/7829889.html

  9. Java数据结构与算法——插入排序

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督.本篇文章介绍排序算法中插入排序算法,包括插入排序的思路,适用场景,性能分析,ja ...

  10. JAVA版连连看算法研究

    JAVA连连看之算法: 连连看连接方式的类型:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:off ...

最新文章

  1. 机器学习实战源码数据集
  2. 一顿关于心智、机器和智能的哲学大餐!!
  3. vue实现上下滑动翻页_基于vue实现上下滑动翻页效果
  4. 开始喜欢Python了
  5. QT学习:视图(View)练习
  6. 【HDU2795】Billboard(线段树)
  7. 车牌识别的matlab程序(程序_讲解_模板),车牌识别的matlab程序(程序讲解模板)
  8. ios uilabel 垂直居中_iOS – 让UILabel的文字顶部对齐[转载]
  9. mysql函数commit_mysql的函数不能用commit吗?
  10. 单链表头插法和尾插法
  11. 电脑老是自动重启怎么回事??
  12. UGUI Scrollbar控件
  13. 3D数学——Unity中的向量运算
  14. mysql 存储 海量图片_数据库中存储大量图片设计
  15. 联想计算机的功能键,联想fn键怎么用 联想fn组合按键功能介绍【图文】
  16. 【运维】服务器的初步认识
  17. Uncle Sam 山姆大叔
  18. linux删除除非某某文件,find命令查找比某个文件新或...-linux下删除某一时间段的文件-scp命令在两台服务器直接进行文件传输的方法_169IT.COM...
  19. 一文带你重新审视CAP理论与分布式系统设计
  20. NoSQL数据库之Redis(三):常用五大数据类型

热门文章

  1. 不得不学的统计学基础知识(二)
  2. php生成excel带图片格式,php导出excel单元格带图片显示方法
  3. 修改Tomcat8的默认访问端口8080
  4. OpenCV3.1安装包下载
  5. 联通沃商店游戏中心接入规范(2014新版)
  6. dev-cpp linux,QT4+Devcpp开发环境搭建(参照网上资料整理)
  7. IDEA 当前项目jdk版本查看
  8. 【测绘程序设计】C#将度分秒(° ‘ “)转换度(°)程序实现(附源码)
  9. Xcode9安装插件,xcode9安装使用Alcatraz
  10. a as as big rat_12句英语绕口令,你能一口气读完几句?