- import java.applet.*;
- import java.io.*;
- import java.security.*;
- public class HashFile {
- public static char[] hexChar = {'0', '1', '2', '3',
- '4', '5', '6', '7',
- '8', '9', 'a', 'b',
- 'c', 'd', 'e', 'f'};
- public static void main(String[] args) throws
- Exception {
- String fileName = "D://programs//Foxmail.rar";
- String hashType = "MD5";
- System.out.println(hashType + " == " +
- getHash(fileName, hashType));
- hashType = "SHA1";
- System.out.println(hashType + " == " +
- getHash(fileName, hashType));
- hashType = "SHA-256";
- System.out.println(hashType + " == " +
- getHash(fileName, hashType));
- hashType = "SHA-384";
- System.out.println(hashType + " == " +
- getHash(fileName, hashType));
- hashType = "SHA-512";
- System.out.println(hashType + " == " +
- getHash(fileName, hashType));
- }
- public static String getHash(String fileName, String hashType) throws
- Exception {
- InputStream fis;
- fis = new FileInputStream(fileName);
- byte[] buffer = new byte[1024];
- MessageDigest md5 = MessageDigest.getInstance(hashType);
- int numRead = 0;
- while ((numRead = fis.read(buffer)) > 0) {
- md5.update(buffer, 0, numRead);
- }
- fis.close();
- return toHexString(md5.digest());
- }
- public static String toHexString(byte[] b) {
- StringBuilder sb = new StringBuilder(b.length * 2);
- for (int i = 0; i < b.length; i++) {
- sb.append(hexChar[(b[i] & 0xf0) >>> 4]);
- sb.append(hexChar[b[i] & 0x0f]);
- }
- return sb.toString();
- }
- }
文件md5验证生成器(java版)
最新推荐文章于 2023-06-14 11:39:53 发布
本文介绍了一个使用Java编写的程序,该程序能够计算指定文件的多种哈希值,包括MD5、SHA1、SHA-256、SHA-384和SHA-512等。通过读取文件并应用相应的哈希算法,程序可以验证文件的完整性和一致性。

1532

被折叠的 条评论
为什么被折叠?



