java sha256 实现_Java实现SHA256算法
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算法相关推荐
- java 512加密_java实现SHA256、SHA512、MD5加密
java.security.MessageDigest这个类里集成了sha256,sha512和md5的加密方法,jdk原生支持这三个加密方式,一下方便了好多,代码如下: package com.ly ...
- java数据结构 队列_Java数据结构与算法[原创]——队列
声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督.本文介绍数据结构中的队列(queue)的概念.存储结构.队列的特点,文末给出ja ...
- java 性能 排序_Java常用排序算法及性能测试集合
package algorithm.sort; import java.lang.reflect.Method; import java.util.Arrays; import java.util.D ...
- java setlt;intgt;_java使用Nagao算法实现新词发现、热门词的挖掘
采用Nagao算法统计各个子字符串的频次,然后基于这些频次统计每个字符串的词频.左右邻个数.左右熵.交互信息(内部凝聚度). 名词解释: Nagao算法:一种快速的统计文本里所有子字符串频次的算法.详 ...
- java遍历字符串_Java后端开发算法基础面试题分享,你离大厂也许就差这份面试题
一.算法基础 1. 重建二叉树 题目: 输入一棵二叉树前序遍历和中序遍历的结果,请重建该二叉树. 注意: 二叉树中每个节点的值都互不相同: 输入的前序遍历和中序遍历一定合法: 演示: 给定: 前序遍历 ...
- java 商品评价_java 商品评价计算算法
importjava.io.Serializable;importjava.lang.ref.ReferenceQueue;importjava.lang.ref.WeakReference;impo ...
- java加减法验证码_Java,Springboot 实现算法验证码加减法图形验证码,Kaptcha 实现加减法验证码...
最近在做一个加减法验证码,记录下实现的过程. 通常Java实现验证码的工具会用到 kaptcha 这个工具包,但实现的验证码都是图形验证码,没有看到加法验证码,查询了相关资料,实现了加减法验证码,效果 ...
- bom展开算法 java程序实现_java实现aprior算法
/** * 频繁项集 */ public class FrequentNode { //包含哪些项 private String[] subjects; //几项集 private int k; // ...
- Java基础类冒泡排序_Java基础 -- 冒泡排序算法(带详细注释)
冒泡排序的要点: 1.多轮排序,每轮排序中选出最大的元素放在最顶端,并且下次排序不再使用该元素; 2. 使用双for循环,外层for循环控制要排序的次数(轮数), 内层for循环控制当前要排序的元素并 ...
最新文章
- python怎样判断一个文件是否存在_python如何判断一个文件是否存在
- CDN和Web Cache领域相关的经典书籍推荐
- 自动驾驶任务|基于概率的3D多模态多目标跟踪(ICRA2021)
- 【PDF下载】给专业选手的 Python 笔记
- SQL读书笔记_With Clause的注意事项
- plsql查询乱码问题解决
- Intel 64/x86_64/IA-32/x86处理器基本执行环境 (1) - 32位执行环境概述
- mobi格式电子书_这几种电子书格式的关系与区别,资深Kindler有必要了解了解 !...
- 抽象类的成员特点 学习笔记
- 如何消除选定TextBox后的光标但又不失去焦点。
- python替换文本文件单词_Python:如何替换文本文件中一行的最后一个单词?
- 腾讯云云服务器IE浏览器初始使用常见问题
- java rrd 读取_rrd4j的使用详解1–数据保存入rrd文件 | 学步园
- C++从零开始 一(C++ primer plus 第六版)
- 旋转木马图片切换展示js特效
- 6个简历模板免费下载网站,资源超多,质量超高!
- 人工智能的软件研发管理系统
- 编程之美 - 创作后记(部分)
- 特征值和特征向量(三)
- 四轴无人机那些事 MiniFly源码分析 2 系统及电源分析