PHP md5和js md5保持一致的方法
方案1 :
php
echo md5(rawurlencode('wef中 321fw_@f13we fwe'));
js
console.log(md5(encodeURIComponent('wef中 321fw_@f13we fwe')));
中文 空格引起的不一致都解决了
方案2 :
//js转中文字符集
function utf8 (inputStr) {
var outputStr = "";
for (var i = 0; i < inputStr.length; i++) {
var temp = inputStr.charCodeAt(i);
//0xxxxxxx
if (temp < 128) {
outputStr += String.fromCharCode(temp);
}
//110xxxxx 10xxxxxx
else if (temp < 2048) {
outputStr += String.fromCharCode((temp >> 6) | 192);
outputStr += String.fromCharCode((temp & 63) | 128);
}
//1110xxxx 10xxxxxx 10xxxxxx
else if (temp < 65536) {
outputStr += String.fromCharCode((temp >> 12) | 224);
outputStr += String.fromCharCode(((temp >> 6) & 63) | 128);
outputStr += String.fromCharCode((temp & 63) | 128);
}
//11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
else {
outputStr += String.fromCharCode((temp >> 18) | 240);
outputStr += String.fromCharCode(((temp >> 12) & 63) | 128);
outputStr += String.fromCharCode(((temp >> 6) & 63) | 128);
outputStr += String.fromCharCode((temp & 63) | 128);
}
}
return outputStr;
}