- importjava.applet.*;
- importjava.io.*;
- importjava.security.*;
- publicclassHashFile{
- publicstaticchar[]hexChar={'0','1','2','3',
- '4','5','6','7',
- '8','9','a','b',
- 'c','d','e','f'};
- publicstaticvoidmain(String[]args)throws
- Exception{
- StringfileName="D://programs//Foxmail.rar";
- StringhashType="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));
- }
- publicstaticStringgetHash(StringfileName,StringhashType)throws
- Exception{
- InputStreamfis;
- fis=newFileInputStream(fileName);
- byte[]buffer=newbyte[1024];
- MessageDigestmd5=MessageDigest.getInstance(hashType);
- intnumRead=0;
- while((numRead=fis.read(buffer))>0){
- md5.update(buffer,0,numRead);
- }
- fis.close();
- returntoHexString(md5.digest());
- }
- publicstaticStringtoHexString(byte[]b){
- StringBuildersb=newStringBuilder(b.length*2);
- for(inti=0;i<b.length;i++){
- sb.append(hexChar[(b[i]&0xf0)>>>4]);
- sb.append(hexChar[b[i]&0x0f]);
- }
- returnsb.toString();
- }
- }
文件md5验证生成器(java版)
本文介绍了一个Java程序,用于计算文件的多种哈希值,包括MD5、SHA1、SHA-256、SHA-384和SHA-512。程序通过读取指定文件并使用MessageDigest类来生成相应的哈希值。

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



