Java Image Requests
If you'd like an easy way of working with Gravatar, then check out Ralf Ebert's jgravatar library, otherwise read on.
Things are a little complex in Java. The following class will provide you with a static method that returns the hex format md5 of an input string:
import java.util.*; import java.io.*; import java.security.*; public class MD5Util { public static String hex(byte[] array) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < array.length; ++i) { sb.append(Integer.toHexString((array[i] & 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; } }
This class can then be used to return the MD5 hash of an email address (make sure you lower case it first!) like this:
String email = "someone@somewhere.com"; String hash = MD5Util.md5Hex(email);
With the hex string that is returned, you can construct your gravatar URL.