diff options
Diffstat (limited to 'src/main/java/de/torui/coflsky/utils/FileUtils.java')
-rw-r--r-- | src/main/java/de/torui/coflsky/utils/FileUtils.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/main/java/de/torui/coflsky/utils/FileUtils.java b/src/main/java/de/torui/coflsky/utils/FileUtils.java new file mode 100644 index 0000000..1541a75 --- /dev/null +++ b/src/main/java/de/torui/coflsky/utils/FileUtils.java @@ -0,0 +1,40 @@ +package de.torui.coflsky.utils; + +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.security.MessageDigest; + +public class FileUtils { + + public static byte[] createChecksum(File file) throws Exception { + InputStream fis = new FileInputStream(file); + + byte[] buffer = new byte[1024]; + MessageDigest complete = MessageDigest.getInstance("MD5"); + int numRead; + + do { + numRead = fis.read(buffer); + if (numRead > 0) { + complete.update(buffer, 0, numRead); + } + } while (numRead != -1); + + fis.close(); + return complete.digest(); + } + + + public static String getMD5Checksum(File file) throws Exception { + byte[] b = createChecksum(file); + String result = ""; + + for (int i=0; i < b.length; i++) { + result += Integer.toString( ( b[i] & 0xff ) + 0x100, 16).substring( 1 ); + } + return result; + } + + +} |