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