java代码如何获取一个文件的SHA-256哈希值呢?
下文笔者讲述使用java代码获取文件的SHA-256哈希值的方法及示例分享,如下所示
获取文件SHA-256哈希值的实现思路
1.创建一个FileInputStream实例读取文件 2.使用MessageDigest.getInstance(“SHA-256”) 获取SHA-256算法的MessageDigest对象。 3.读取文件内容 同时使用update方法 将内容传递给MessageDigest对象进行更新 4.更新完毕后,即可得到SHA-256哈希值,转换为十六进制字符串输出即可例:计算一个文件的SHA-256哈希值
import java.io.FileInputStream; import java.security.MessageDigest; public class SHA256Example { public static void main(String[] args) throws Exception { //待计算哈希值的文件路径 String filepath = "/home/test/java265.txt"; FileInputStream input = new FileInputStream(filepath); MessageDigest sha256 = MessageDigest.getInstance("SHA-256"); byte[] buffer = new byte[8192]; int len = input.read(buffer); while (len != -1) { sha256.update(buffer, 0, len); len = input.read(buffer); } input.close(); byte[] hash = sha256.digest(); StringBuilder sb = new StringBuilder(); for (byte b : hash) { sb.append(String.format("%02x", b)); } String hashString = sb.toString(); // 哈希值的字符串表示 System.out.println(hashString); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。