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 相关文章推荐
js动态加载以及确定加载完成的代码
Jul 31 Javascript
基于jquery封装的一个js分页
Nov 15 Javascript
Javascript表格翻页效果的具体实现
Oct 05 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
May 06 Javascript
javascript动态添加checkbox复选框的方法
Dec 23 Javascript
jquery 实现回车登录详解及实例代码
Oct 23 Javascript
解析Vue2.0双向绑定实现原理
Feb 23 Javascript
JS模拟实现哈希表及应用详解
May 04 Javascript
vue-cli3.0使用及部分配置详解
Aug 29 Javascript
vue实现分环境打包步骤(给不同的环境配置相对应的打包命令)
Jun 04 Javascript
基于layui table返回的值的多级嵌套的解决方法
Sep 19 Javascript
微信公众号服务器验证Token步骤图解
Dec 30 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
php获取某个目录大小的代码
2008/09/10 PHP
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
2012/10/11 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
详解如何用babel转换es6的class语法
2018/04/03 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
vue实现记事本功能
2019/06/26 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
python正则表达式判断字符串是否是全部小写示例
2013/12/25 Python
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
python打开文件并获取文件相关属性的方法
2015/04/23 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
python连接mongodb密码认证实例
2018/10/16 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
numpy基础教程之np.linalg
2019/02/12 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
详解Python 函数参数的拆解
2020/09/02 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
美的官方商城:Midea
2016/09/14 全球购物
采购文员岗位职责
2013/11/20 职场文书
上班上网检讨书
2014/01/29 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
2014年个人售房协议书
2014/10/30 职场文书
2015年实习生工作总结报告
2015/04/28 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书