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);
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


