这篇文章主要为大家展示了“node.JS md5加密中文与php结果不一致怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“node.JS md5加密中文与php结果不一致怎么办”这篇文章吧。
成都创新互联公司于2013年开始,是专业互联网技术服务公司,拥有项目成都网站制作、成都网站设计、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元突泉做网站,已为上家服务,为突泉各地企业和个人服务,联系电话:028-86922220因项目需要,需要Node.js与PHP做接口调用,发现node.js对中文使用md5加密与php对中文md5加密的结果不同。
PHP
输出:
程序员 md5:72d9adf4944f23e5efde37f6364c126f
node.JS
var crypto = require('crypto'); var md5 = function(str){ var crypto_md5 = crypto.createHash('md5'); crypto_md5.update(str); return crypto_md5.digest('hex'); } var str = '程序员'; var result = str + ' md5:' + md5(str); console.log(result);
输出:
程序员 md5:1b6ad7846ec870e78363d1db4fb2a0ff
经查阅资料发现是编码问题,只要在node.JS中加入编码即可解决问题。
解决方法如下:
var crypto = require('crypto'); var md5 = function(str){ var crypto_md5 = crypto.createHash('md5'); crypto_md5.update(str, 'utf8'); // 加入编码 return crypto_md5.digest('hex'); } var str = '程序员'; var result = str + ' md5:' + md5(str); console.log(result);
输出:
程序员 md5:72d9adf4944f23e5efde37f6364c126f
以上是“node.JS md5加密中文与php结果不一致怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联网站建设公司行业资讯频道!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。