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 相关文章推荐
Firefox getBoxObjectFor getBoundingClientRect联系
Oct 26 Javascript
Extjs实现进度条的两种便捷方式
Sep 26 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
Jun 23 Javascript
javascript实现捕捉键盘上按下的键
May 05 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
Aug 10 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
Jun 01 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
Jan 09 Javascript
vue基础之模板和过滤器用法实例分析
Mar 12 Javascript
微信小程序页面调用自定义组件内的事件详解
Sep 12 Javascript
javascript操作向表格中动态加载数据
Aug 27 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
Dec 04 Javascript
使用vue3重构拼图游戏的实现示例
Jan 25 Vue.js
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
javascript new一个对象的实质
2010/01/07 Javascript
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
js如何判断用户是否是用微信浏览器
2014/06/05 Javascript
基于jquery实现放大镜效果
2015/08/17 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
通过js修改input、select默认字体颜色
2017/04/19 Javascript
jquery replace方法去空格
2017/05/08 jQuery
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
react redux入门示例
2018/04/19 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
使用webpack编译es6代码的方法步骤
2019/04/28 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Python中bisect的用法及示例详解
2020/07/20 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
酒店中秋节活动方案
2014/01/31 职场文书
主管会计岗位责任制
2014/02/10 职场文书
大学生个人求职口试自我评价
2014/02/16 职场文书
生产助理岗位职责
2014/06/18 职场文书
大学生求职信例文
2014/06/29 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
vue 给数组添加新对象并赋值
2022/04/20 Vue.js