Java SHA 哈希算法实例[可直接用]
来源:互联网 发布:哪个软件音质最好 编辑:程序博客网 时间:2024/05/18 09:13
- 用SHA-256算法,检验文件:
使用 sha-256 哈希算法生成”c:\loging.log”文件的校验码。
import java.io.FileInputStream;import java.security.MessageDigest;public class SHACheckSumExample{ public static void main(String[] args)throws Exception { MessageDigest md = MessageDigest.getInstance("SHA-256"); FileInputStream fis = new FileInputStream("c:\\loging.log"); byte[] dataBytes = new byte[1024]; int nread = 0; while ((nread = fis.read(dataBytes)) != -1) { md.update(dataBytes, 0, nread); }; byte[] mdbytes = md.digest(); //convert the byte to hex format method 1 StringBuffer sb = new StringBuffer(); for (int i = 0; i < mdbytes.length; i++) { sb.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1)); } System.out.println("Hex format : " + sb.toString()); //convert the byte to hex format method 2 StringBuffer hexString = new StringBuffer(); for (int i=0;i<mdbytes.length;i++) { hexString.append(Integer.toHexString(0xFF & mdbytes[i])); } System.out.println("Hex format : " + hexString.toString()); }}
Output:
Hex format : 21a57f2fe765e1ae4a8bf15d73fc1bf2a533f547f2343d12a499d9c0592044d4Hex format : 21a57f2fe765e1ae4a8bf15d73fc1bf2a533f547f2343d12a499d9c0592044d4
2.用SHA-256算法对字符串加密:
使用哈希算法对字符串”123456”加密
import java.security.MessageDigest;public class SHAHashingExample{ public static void main(String[] args)throws Exception { String password = "123456"; MessageDigest md = MessageDigest.getInstance("SHA-256"); md.update(password.getBytes()); byte byteData[] = md.digest(); //convert the byte to hex format method 1 StringBuffer sb = new StringBuffer(); for (int i = 0; i < byteData.length; i++) { sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1)); } System.out.println("Hex format : " + sb.toString()); //convert the byte to hex format method 2 StringBuffer hexString = new StringBuffer(); for (int i=0;i<byteData.length;i++) { String hex=Integer.toHexString(0xff & byteData[i]); if(hex.length()==1) hexString.append('0'); hexString.append(hex); } System.out.println("Hex format : " + hexString.toString()); }}
Output:
Hex format : 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92Hex format : 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
参考url
0 0
- Java SHA 哈希算法实例[可直接用]
- Java SHA-256 算法实例
- Java SHA-256 算法实例
- Java SHA-256算法
- SHA算法Java实现
- java直接插入排序算法实例
- 哈希加密算法 MD5,SHA-1,SHA-2,SHA-256,SHA-512,SHA-3,RIPEMD-160
- 密码学大事件! SHA-1 哈希碰撞实例
- Java小代码(可直接用)
- 关于java散列算法(MD5 SHA-1 SHA-128 SHA-256..)的一点总结
- Microsoft 根证书计划弃用 SHA-1 哈希算法
- openssl 哈希算法 实战 MD5/SHA系列/DSS/RIPEMD160
- SHA算法
- SHA算法
- “摘要”算法,使用示例。(java, sha) [备忘]
- SHA算法JAVA的實現
- SHA-1算法的Java实现
- java实现安全散列算法SHA
- 单例模式(SingleTon)
- [caffe]深度学习之图像分类模型AlexNe(各层feature map)解读
- 欢迎使用CSDN-markdown编辑器
- 修改数据
- Erlang CPU 高相关问题的分析方法
- Java SHA 哈希算法实例[可直接用]
- 移动App框架模式了解【待看】
- 01.开山篇
- 数字图像基本处理算法
- 转载:Android多媒体应用开发系列(一) 拍照
- mac opencv 安装使用
- ADB指令之删除仿真手机中文件
- 论文笔记之Learning Convolutional Neural Networks for Graphs
- (一)GPU图形绘制管线