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 基础知识 被自己遗忘的
Oct 15 Javascript
js模拟类继承小例子
Jul 17 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
May 04 Javascript
js调试系列 断点与动态调试[基础篇]
Jun 18 Javascript
jQuery中常用的遍历函数用法实例总结
Sep 01 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
Jun 21 Javascript
简单分析javascript中的函数
Sep 10 Javascript
JS中append字符串包含onclick无效传递参数失败的解决方案
Dec 26 Javascript
使用webpack打包koa2 框架app
Feb 02 Javascript
详解Angular5路由传值方式及其相关问题
Apr 28 Javascript
微信小程序分包加载代码实现方法详解
Sep 23 Javascript
vue双向绑定数据限制长度的方法
Nov 04 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数据类型转换
2014/01/09 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
jQuery 表单验证扩展(四)
2010/10/20 Javascript
Jquery之Ajax运用 学习运用篇
2011/09/26 Javascript
获取body标签的两种方法
2011/10/13 Javascript
javaScript 利用闭包模拟对象的私有属性
2011/12/29 Javascript
js验证整数加保留小数点的简单实例
2013/12/02 Javascript
10条建议帮助你创建更好的jQuery插件
2015/05/18 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
python实现文件路径和url相互转换的方法
2015/07/06 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
利用python实现AR教程
2019/11/20 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
介绍Java的内部类
2012/10/27 面试题
群众路线教育实践活动实施方案
2014/10/31 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
python 批量压缩图片的脚本
2021/06/02 Python
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
欧元符号 €
2022/02/17 杂记