nodejs 解决md5加密的中文编码不一致问题

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

以上更简单~~~

    原文作者:游程编码问题
    原文地址: https://blog.csdn.net/wzm112/article/details/44309697
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞