当前位置: 首页 > news >正文

java sha_原生Java实现SHA256算法

package sha256demo;

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; i < bytes.length; i++) {

temp = Integer.toHexString(bytes[i] & 0xFF);

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

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

stringBuffer.append("0");

}

stringBuffer.append(temp);

}

return stringBuffer.toString();

}

}

相关文章:

  • java spring 事务控制器_spring之事务总结
  • java adt怎么使用_Java ADT中如何使用ImageView控件
  • java setforeground_java 中的JProgressBar设置前景色foreground无效果
  • python数字加密货币_GitHub - cugbliwei/cryptocurrency: 数字加密货币项目
  • java实现Tomasulo算法_并行计算机组成与设计pdf
  • java实时数据画图_Java中的实时绘图
  • java连接sql server数据库步骤_JDBC连接sql server数据库的详细步骤和代码 转
  • Java怎么保证数据一致性_连续调用多个外部系统写接口保证数据一致性的思路...
  • js多层对象数组 合并_js 将多个对象合并成一个对象 assign方法的实现
  • Linux mysql导入 表没有退出_Linux中mysql表的导出导入
  • mysql 5.7.17 jdk要求_Centos 7配置JDK1.8+MySQL5.7+Tomcat 8 开发环境
  • JAVA的error访问不存在_调用WxMpService的临时素材下载方法无效,提示错误代码:99999,文件名不存在...
  • mysql user表误删除_mysql user表root 用户误删除解决方法
  • top筛选java输出到文件_linux – 将时间戳添加到“top”命令输出
  • java城市级联代码_java json 省市级联实例代码
  • 深入了解以太坊
  • @angular/forms 源码解析之双向绑定
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • Apache Pulsar 2.1 重磅发布
  • emacs初体验
  • ESLint简单操作
  • gulp 教程
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • js对象的深浅拷贝
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 观察者模式实现非直接耦合
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 七牛云假注销小指南
  • 全栈开发——Linux
  • 实战|智能家居行业移动应用性能分析
  • 使用权重正则化较少模型过拟合
  • 项目管理碎碎念系列之一:干系人管理
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2)Java 简介
  • (70min)字节暑假实习二面(已挂)
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (黑马C++)L06 重载与继承
  • (三)终结任务
  • (转) Android中ViewStub组件使用
  • (转)LINQ之路
  • (转载)从 Java 代码到 Java 堆
  • .Net 6.0 处理跨域的方式
  • .net 7 上传文件踩坑
  • .Net 8.0 新的变化
  • .Net FrameWork总结
  • .ui文件相关
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • ?php echo ?,?php echo Hello world!;?