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实现文本框中焦点在最后位置
Mar 04 Javascript
javascript中Object使用详解
Jan 26 Javascript
js鼠标点击图片实现随机变换图片的方法
Feb 16 Javascript
封装获取dom元素的简单实例
Jul 08 Javascript
Angular2平滑升级到Angular4的步骤详解
Mar 29 Javascript
Angular项目中$scope.$apply()方法的使用详解
Jul 26 Javascript
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
使用proxy实现一个更优雅的vue【推荐】
Jun 19 Javascript
Vue监听页面刷新和关闭功能
Jun 20 Javascript
javascript实现移动端触屏拖拽功能
Jul 29 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
Oct 29 Javascript
详解Anyscript开发指南绕过typescript类型检查
Sep 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
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
初识Laravel
2014/10/30 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
JS控件的生命周期介绍
2012/10/22 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
Python列表和元组的定义与使用操作示例
2017/07/26 Python
Python yield的用法实例分析
2020/03/06 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
乌克兰珠宝大卖场:Zlato.ua
2020/09/27 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
解释下面关于J2EE的名词
2013/11/15 面试题
中专生自我鉴定书范文
2013/12/28 职场文书
办理暂住证介绍信
2014/01/11 职场文书
西门豹教学反思
2014/02/04 职场文书
入股协议书范本
2014/04/14 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2014年保洁工作总结
2014/11/24 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL
Python学习之时间包使用教程详解
2022/03/21 Python