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实现最简单的选项卡切换效果
May 16 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 Javascript
js判断出两个字符串最大子串的函数实现方法
Nov 01 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Dec 14 Javascript
AngularJS双向绑定和依赖反转实例详解
Apr 15 Javascript
深入理解ES6的迭代器与生成器
Aug 19 Javascript
Vue.js组件高级特性实例详解
Dec 24 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
Apr 19 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
Jun 02 Javascript
vue 子组件watch监听不到prop的解决
Aug 09 Javascript
jquery实现抽奖功能
Oct 22 jQuery
Vue深入理解插槽slot的使用
Aug 05 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
桌面中心(四)数据显示
2006/10/09 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
PHP模块memcached使用指南
2014/12/08 PHP
php微信开发之图片回复功能
2018/06/14 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
2017/01/06 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
javascript实现拼图游戏
2021/01/29 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
python 列表降维的实例讲解
2018/06/28 Python
Python socket 套接字实现通信详解
2019/08/27 Python
Python 列表的清空方式
2020/01/13 Python
Python基础之字符串常见操作经典实例详解
2020/02/26 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
人力资源总监工作说明
2014/03/03 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
怎么用Python识别手势数字
2021/06/07 Python