aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util/Utils.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/util/Utils.java')
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index effe0952f7..0909e4bf2d 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -2,9 +2,14 @@ package gtPlusPlus.core.util;
import java.awt.Color;
import java.awt.Graphics;
+import java.io.ByteArrayOutputStream;
import java.io.File;
+import java.io.IOException;
+import java.io.ObjectOutput;
+import java.io.ObjectOutputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.ArrayList;
@@ -15,6 +20,8 @@ import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
+import javax.xml.bind.DatatypeConverter;
+
import org.apache.commons.lang3.EnumUtils;
import cpw.mods.fml.common.FMLCommonHandler;
@@ -821,4 +828,38 @@ public class Utils {
}
+ public static String calculateChecksumMD5(Object bytes) {
+ byte[] result = new byte[] {};
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ObjectOutput out = null;
+ try {
+ out = new ObjectOutputStream(bos);
+ out.writeObject(bytes);
+ out.flush();
+ result = bos.toByteArray();
+ }
+ catch (IOException e) {
+ } finally {
+ try {
+ bos.close();
+ }
+ catch (IOException e) {}
+ }
+ return calculateChecksumMD5(result);
+ }
+
+ public static String calculateChecksumMD5(byte[] bytes) {
+ MessageDigest md;
+ try {
+ md = MessageDigest.getInstance("MD5");
+ md.update(bytes);
+ byte[] digest = md.digest();
+ String myHash = DatatypeConverter.printHexBinary(digest).toUpperCase();
+ return myHash;
+ }
+ catch (NoSuchAlgorithmException e) {
+ return null;
+ }
+ }
+
}