JAVA中MD5算法实现函数,此函数生成的字符串(MD5)跟本博客中的C语言生成的完全一样,这个可以方便实现替换。
private static String md5(String input) {
if ( (input == null) || (input.length() == 0) ){
return "D41D8CD98F00B204E9800998ECF8427E"; //这个值是为了兼容C语言的DLL MD5值而存在
}
else{
StringBuffer sb = new StringBuffer();
try {
MessageDigest algorithm = MessageDigest.getInstance("MD5");
algorithm.reset();
algorithm.update(input.getBytes());
byte[] md5 = algorithm.digest();
String singleByteHex = "";
for (int i = 0; i < md5.length; i++) {
singleByteHex = Integer.toHexString(0xFF & md5[i]);
if (singleByteHex.length() == 1) {
sb.append("0");
}
sb.append(singleByteHex.toUpperCase());
}
} catch (NoSuchAlgorithmException ex) {
ex.printStackTrace();
}
return sb.toString();
}
}