import java.io.File;
import java.io.FileInputStream;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
public class Md5sum {
public static void main(String[] args) throws Exception {
File file = new File(args[0]);
MessageDigest md = MessageDigest.getInstance("md5");
ByteBuffer buff = ByteBuffer.allocate(1024);
FileInputStream in = new FileInputStream(file);
try {
FileChannel fcin = in.getChannel();
while (fcin.read(buff) != -1) {
buff.flip();
md.update(buff);
buff.clear();
}
fcin.close();
} finally {
in.close();
}
byte[] digest = md.digest();
BigInteger bi = new BigInteger(1, digest);
System.out.printf("%0" + (digest.length << 1) + "x %s", bi, file);
}
}
2009年6月5日
Java md5sum
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言