Java中計算中文的MD5值
前幾天的工作中,需要計算中文的MD5值,計算的函數接口及調用方式如下:
public static String getMD5(byte[] source);
String s = "中文編碼";
String md5_value = getMD5(s.getBytes());
其中getBytes函數使用平臺默認的字符集將string編碼為byte序列。由于平臺的中文編碼方式可能不同,所以同一中文經過getBytes得到的二進制是不一樣的。為保證每次得到的結果一致,或者使用指定的編碼方式得到byte序列,應該在getBytes中使用參數。
String md5_value = getMD5(s.getBytes("utf-8"));
這樣得到的值就是一樣的。