aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/trygvis/esper/testing/util/Gravatar.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/io/trygvis/esper/testing/util/Gravatar.java')
-rw-r--r--src/main/java/io/trygvis/esper/testing/util/Gravatar.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/io/trygvis/esper/testing/util/Gravatar.java b/src/main/java/io/trygvis/esper/testing/util/Gravatar.java
new file mode 100644
index 0000000..c98662d
--- /dev/null
+++ b/src/main/java/io/trygvis/esper/testing/util/Gravatar.java
@@ -0,0 +1,28 @@
+package io.trygvis.esper.testing.util;
+
+import java.io.*;
+import java.security.*;
+
+public class Gravatar {
+ public static String hex(byte[] array) {
+ StringBuilder sb = new StringBuilder();
+ for (byte anArray : array) {
+ sb.append(Integer.toHexString((anArray & 0xFF) | 0x100).substring(1, 3));
+ }
+ return sb.toString();
+ }
+
+ public static String md5Hex(String message) {
+ try {
+ MessageDigest md = MessageDigest.getInstance("MD5");
+ return hex(md.digest(message.getBytes("CP1252")));
+ } catch (NoSuchAlgorithmException e) {
+ } catch (UnsupportedEncodingException e) {
+ }
+ return null;
+ }
+
+ public static String gravatar(String mail) {
+ return "http://www.gravatar.com/avatar/" + md5Hex(mail.trim().toLowerCase());
+ }
+}