1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-09 01:01:06 -09:00
mage/Mage.Updater/src/main/java/com/magefree/update/helpers/ChechsumHelper.java
2012-05-11 12:06:02 +04:00

49 lines
1.3 KiB
Java

package com.magefree.update.helpers;
import java.io.FileInputStream;
import java.io.InputStream;
import java.security.MessageDigest;
/**
* @author Loki
*/
public class ChechsumHelper {
public static byte[] createChecksum(String filename) throws Exception {
InputStream fis = null;
MessageDigest complete;
try {
fis = new FileInputStream(filename);
byte[] buffer = new byte[1024];
complete = MessageDigest.getInstance("SHA1");
int numRead;
do {
numRead = fis.read(buffer);
if (numRead > 0) {
complete.update(buffer, 0, numRead);
}
} while (numRead != -1);
return complete.digest();
} finally {
if (fis != null) {
fis.close();
}
}
}
// see this How-to for a faster way to convert
// a byte array to a HEX string
public static String getSHA1Checksum(String filename) throws Exception {
byte[] b = createChecksum(filename);
String result = "";
for (int i = 0; i < b.length; i++) {
result +=
Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1);
}
return result;
}
}