前些天开发一个小项目时,发现MD5一段含有中文的字符串的结果与一个同事不同,找了一些在线编辑器发现也有两种结果,后来各种查资料,学习到:中文字符串 转byte时,要指定字符集。
在java语言的MD5代码中,MD5加密前,把字符串getBytes("UTF-8")一下再加密,后台接收也用UTF-8就好了;
由于我是在网页前端js用到MD5,原来用的是GBK编码下的MD5,修改成UTF-8下的就跟同事对上了,将GBK和UTF-8两种编码下的js方法记录于编码块中,通过以下方式引用:
1. MD5_GBK.js
<script src="https://code.csdn.net/snippets/1858202.js"></script>
2. MD5_UTF-8.js
<script src="https://code.csdn.net/snippets/1858224.js"></script>