您好,欢迎访问一九零五行业门户网

java md5不一致怎么办

java md5不一致怎么办?java汉字md5值不一致问题的解决办法
推荐教程:《java学习》
通过main方法测试得到一个加密值,通过servlet request调用得到一个加密值,都是加密相同的汉字,但是结果不同。
如果是加密英文,则不会有这种问题。
原因就在于汉字编码,在加密时设置一下编码utf-8,问题解决。
public static string encoderbymd5(string str) { string result = ""; messagedigest md5 = null; try { md5 = messagedigest.getinstance("md5"); // 这句是关键 md5.update(str.getbytes("utf-8")); } catch (nosuchalgorithmexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (unsupportedencodingexception e) { // todo auto-generated catch block e.printstacktrace(); } byte b[] = md5.digest(); int i; stringbuffer buf = new stringbuffer(""); for (int offset = 0; offset < b.length; offset++) { i = b[offset]; if (i < 0) i += 256; if (i < 16) buf.append("0"); buf.append(integer.tohexstring(i)); } result = buf.tostring(); return result; }
以上就是java md5不一致怎么办的详细内容。
其它类似信息

推荐信息