package examples; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.security.DigestInputStream; import java.security.MessageDigest; public class DigestUtil { public static final int BUFFER_SIZE = 2048; public static byte[] getDigest(InputStream in, String algorithm) throws Throwable { MessageDigest md = MessageDigest.getInstance(algorithm); try { DigestInputStream dis = new DigestInputStream(in, md); byte[] buffer = new byte[BUFFER_SIZE]; while (dis.read(buffer) != -1) { // } dis.close(); } finally { in.close(); } return md.digest(); } public static String getDigestString(InputStream in, String algorithm) throws Throwable { byte[] digest = getDigest(in, algorithm); StringBuilder sb = new StringBuilder(); for (int i = 0; i < digest.length; i++) { sb.append(String.format("%x", digest[i])); } return sb.toString(); } public static void main(String[] args) throws Throwable { File f = new File("/tmp/1.iso.gz"); System.out.println("MD5: " + getDigestString(new FileInputStream(f), "MD5")); System.out.println("SHA-256: " + getDigestString(new FileInputStream(f), "SHA-256")); System.out.println("SHA-1: " + getDigestString(new FileInputStream(f), "SHA-1")); } }
Search This Blog
Java: how to generate md5, sha1, sha256 checksums
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment