如果您想要一种使用 Cravatar 的简单方法,请查看 Ralf Ebert 的 jgravatar 库(调整为 jcravatar 即可),否则请继续阅读。
Java 中的事情有点复杂。下面的类将为您提供一个静态方法,该方法返回输入字符串的十六进制格式 md5:
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;
}
}
然后,此类可用于返回电子邮件地址的 MD5 哈希值 (确保先小写!),如下所示:
String email = "someone@somewhere.com";
String hash = MD5Util.md5Hex(email);
使用返回的十六进制字符串,您可以构建您的头像 URL 。