www.pudn.com > MD5.rar > NewFileMD5.java
package com.md5.chen;
import java.security.*;
import java.io.*;
//计算一个文件输入流的MD5
public class NewFileMD5
{
public static void main(String[] args)
{
String PATH = null;
String result = "";
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
System.out.println("输入文件路径:");
try
{
PATH = reader.readLine();// 将主目录路径保存再PATH中
} catch (IOException e)
{
e.toString();
}
try
{ // 生成MessageDigest对象MD
MessageDigest m = MessageDigest.getInstance("MD5");
FileInputStream fin = new FileInputStream(PATH);
DigestInputStream din = new DigestInputStream(fin, m);
while (din.read() != -1)
{
;
}
// 计算MD5
byte s[] = m.digest();
for (int i = 0; i < s.length; i++)
{
result += Integer.toHexString((0x000000ff & s[i]) | 0xffffff00)
.substring(6);
}
} catch (Exception e)
{
e.toString();
}
System.out.println("MD5:" + result);
}
}