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"));
这样得到的值就是一样的。