node.JS md5加密中文与php结果不一致的解决方法


Posted in Javascript onMay 05, 2017

因项目需要,需要Node.js与PHP做接口调用,发现node.js对中文使用md5加密与php对中文md5加密的结果不同。

PHP

<?php
$str = '程序员';
echo $str.' md5:'.md5($str);
?>

输出:

程序员 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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
javascript 拖放效果实现代码
Jan 22 Javascript
JavaScript学习笔记之获取当前目录的实现代码
Dec 14 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
Jul 28 Javascript
innerHTML与jquery里的html()区别介绍
Oct 12 Javascript
JS返回iframe中frameBorder属性值的方法
Apr 01 Javascript
基于gulp合并压缩Seajs模块的方式说明
Jun 14 Javascript
jquery判断类型是不是number类型的实例代码
Oct 07 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
Oct 28 Javascript
H5移动端图片压缩上传开发流程
Nov 09 Javascript
jQuery实现别踩白块儿网页版小游戏
Jan 18 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
es6中Promise 对象基本功能与用法实例分析
Feb 23 Javascript
jquery中封装函数传递当前元素的方法示例
May 05 #jQuery
使用JS在浏览器中判断当前网络连接状态的几种方法
May 05 #Javascript
js实现倒计时关键代码
May 05 #Javascript
javascript 中的继承实例详解
May 05 #Javascript
JavaScript函数表达式详解及实例
May 05 #Javascript
Node.js中的http请求客户端示例(request client)
May 04 #Javascript
Bootstrap布局之栅格系统学习笔记
May 04 #Javascript
You might like
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
PHP开发文件系统实例讲解
2006/10/09 PHP
理解PHP5中static和const关键字的区别
2007/03/19 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
jQuery使用手册之三 CSS操作
2007/03/24 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
jQuery Clone Bug解决代码
2010/12/22 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
python类中super()和__init__()的区别
2016/10/18 Python
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
Python全栈之列表数据类型详解
2019/10/01 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
2021/01/06 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
农行实习自我鉴定
2013/09/22 职场文书
大门门卫岗位职责
2013/11/30 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
初中班主任经验交流材料
2014/05/16 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
监守自盗观后感
2015/06/10 职场文书
浅谈如何提高PHP代码的质量
2021/05/28 PHP
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python