import java.io.UnsupportedEncodingException;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

public class Sha256 {

/**

* 利用java原生的类实现SHA256加密

* @param str 加密后的报文

* @return

*/

public static String getSHA256(String str){

MessageDigest messageDigest;

String encodestr = "";

try {

messageDigest = MessageDigest.getInstance("SHA-256");

messageDigest.update(str.getBytes("UTF-8"));

encodestr = byte2Hex(messageDigest.digest());

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

return encodestr;

}

/**

* 将byte转为16进制

* @param bytes

* @return

*/

private static String byte2Hex(byte[] bytes){

StringBuffer stringBuffer = new StringBuffer();

String temp = null;

for (int i=0;itemp = Integer.toHexString(bytes[i] & 0xFF);

if (temp.length()==1){

//1得到一位的进行补0操作

stringBuffer.append("0");

}

stringBuffer.append(temp);

}

return stringBuffer.toString();

}

}

java sha256 实现_Java实现SHA256算法相关推荐

  1. java 512加密_java实现SHA256、SHA512、MD5加密

    java.security.MessageDigest这个类里集成了sha256,sha512和md5的加密方法,jdk原生支持这三个加密方式,一下方便了好多,代码如下: package com.ly ...

  2. java数据结构 队列_Java数据结构与算法[原创]——队列

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督.本文介绍数据结构中的队列(queue)的概念.存储结构.队列的特点,文末给出ja ...

  3. java 性能 排序_Java常用排序算法及性能测试集合

    package algorithm.sort; import java.lang.reflect.Method; import java.util.Arrays; import java.util.D ...

  4. java setlt;intgt;_java使用Nagao算法实现新词发现、热门词的挖掘

    采用Nagao算法统计各个子字符串的频次,然后基于这些频次统计每个字符串的词频.左右邻个数.左右熵.交互信息(内部凝聚度). 名词解释: Nagao算法:一种快速的统计文本里所有子字符串频次的算法.详 ...

  5. java遍历字符串_Java后端开发算法基础面试题分享,你离大厂也许就差这份面试题

    一.算法基础 1. 重建二叉树 题目: 输入一棵二叉树前序遍历和中序遍历的结果,请重建该二叉树. 注意: 二叉树中每个节点的值都互不相同: 输入的前序遍历和中序遍历一定合法: 演示: 给定: 前序遍历 ...

  6. java 商品评价_java 商品评价计算算法

    importjava.io.Serializable;importjava.lang.ref.ReferenceQueue;importjava.lang.ref.WeakReference;impo ...

  7. java加减法验证码_Java,Springboot 实现算法验证码加减法图形验证码,Kaptcha 实现加减法验证码...

    最近在做一个加减法验证码,记录下实现的过程. 通常Java实现验证码的工具会用到 kaptcha 这个工具包,但实现的验证码都是图形验证码,没有看到加法验证码,查询了相关资料,实现了加减法验证码,效果 ...

  8. bom展开算法 java程序实现_java实现aprior算法

    /** * 频繁项集 */ public class FrequentNode { //包含哪些项 private String[] subjects; //几项集 private int k; // ...

  9. Java基础类冒泡排序_Java基础 -- 冒泡排序算法(带详细注释)

    冒泡排序的要点: 1.多轮排序,每轮排序中选出最大的元素放在最顶端,并且下次排序不再使用该元素; 2. 使用双for循环,外层for循环控制要排序的次数(轮数), 内层for循环控制当前要排序的元素并 ...

最新文章

  1. python怎样判断一个文件是否存在_python如何判断一个文件是否存在
  2. CDN和Web Cache领域相关的经典书籍推荐
  3. 自动驾驶任务|基于概率的3D多模态多目标跟踪(ICRA2021)
  4. 【PDF下载】给专业选手的 Python 笔记
  5. SQL读书笔记_With Clause的注意事项
  6. plsql查询乱码问题解决
  7. Intel 64/x86_64/IA-32/x86处理器基本执行环境 (1) - 32位执行环境概述
  8. mobi格式电子书_这几种电子书格式的关系与区别,资深Kindler有必要了解了解 !...
  9. 抽象类的成员特点 学习笔记
  10. 如何消除选定TextBox后的光标但又不失去焦点。
  11. python替换文本文件单词_Python:如何替换文本文件中一行的最后一个单词?
  12. 腾讯云云服务器IE浏览器初始使用常见问题
  13. java rrd 读取_rrd4j的使用详解1–数据保存入rrd文件 | 学步园
  14. C++从零开始 一(C++ primer plus 第六版)
  15. 旋转木马图片切换展示js特效
  16. 6个简历模板免费下载网站,资源超多,质量超高!
  17. 人工智能的软件研发管理系统
  18. 编程之美 - 创作后记(部分)
  19. 特征值和特征向量(三)
  20. 四轴无人机那些事 MiniFly源码分析 2 系统及电源分析

热门文章

  1. 角色扮演游戏引擎的设计原理
  2. Java基础案例教程思维导图
  3. vb.net 教程 12-4 msHtml 1
  4. SQL Server 2008 R2 企业版 MSDN原版
  5. (三)深入理解蓝牙BLE之“信道管理”
  6. CSS中scope和scoped区别
  7. AI入门: 关于人工智能的深度思考
  8. DSO(dsoframer)的接口文档在VC++使用
  9. go程序设计语言第十二章-反射
  10. MySQL设置数据库隔离级别