nodejs在进行md5加密时,发现同样的密文在,php 和nodejs中加密后的密文竟然不一样
查其原因,nodejs在进行md5 时,中文没有转换成二进制编码,通过增加中间处理过程把字符串强制转换成二进制编码解决问题!!
function md5(data) {
var Buffer = require("buffer").Buffer;
var buf = new Buffer(data);
var str = buf.toString("binary");
var crypto = require("crypto");
return crypto.createHash("md5").update(str).digest("hex");
}除此之外还有更简单的:
md5.update(stringToSign, 'utf8'); //直接转成utf8以上更简单~~~
本文探讨了Node.js中MD5加密与PHP的不同之处,并提供了解决方案,确保中文字符正确处理。
1782

被折叠的 条评论
为什么被折叠?



