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 相关文章推荐
高亮显示web页表格行的javascript代码
Nov 19 Javascript
jQuery移动和复制dom节点实用DOM操作案例
Dec 17 Javascript
javascript 星级评分效果(手写)
Dec 24 Javascript
node.js中的Socket.IO使用实例
Nov 04 Javascript
jQuery实现的淡入淡出图片轮播效果示例
Aug 29 jQuery
详解vue移动端项目代码拆分记录
Mar 15 Javascript
vue项目中引入vue-datepicker插件的详解
May 14 Javascript
bootstrap table.js动态填充单元格数据的多种方法
Jul 18 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
Sep 23 Javascript
对layui数据表格动态cols(字段)动态变化详解
Oct 25 Javascript
Vue自定义全局弹窗组件操作
Aug 11 Javascript
原生JS实现多条件筛选
Aug 19 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下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
网站用php实现paypal整合方法
2010/11/28 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
php保存信息到当前Session的方法
2015/03/16 PHP
php图片添加水印例子
2016/07/20 PHP
使用PHP访问RabbitMQ消息队列的方法示例
2018/06/06 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
2016/12/18 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
超实用的 30 段 Python 案例
2019/10/10 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
英国门销售网站:Green Tree Doors
2020/01/07 全球购物
中学生旷课检讨书模板
2014/10/08 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
财务年终工作总结大全
2019/06/20 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
ztree+ajax实现文件树下载功能
2021/05/18 Javascript
使用redis生成唯一编号及原理示例详解
2021/09/15 Redis