node.JS md5加密中文与php结果不一致的解决方法

 更新时间:2017年05月05日 09:24:08   作者:傲雪星枫  
本篇文章主要介绍了node.JS md5加密中文与php结果不一致的解决方法,具有很好的参考价值。下面跟着小编一起来看下吧

因项目需要,需要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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • 支持cjs及esm的npm包实现示例详解

    支持cjs及esm的npm包实现示例详解

    这篇文章主要为大家介绍了支持cjs及esm的npm包的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 深入学习nodejs中的async模块的使用方法

    深入学习nodejs中的async模块的使用方法

    本篇文章主要介绍了nodejs中的async模块的使用方法,具有一定的参考价值,有兴趣的可以了解一下
    2017-07-07
  • node-sass@4.14.1报错的最终解决方案分享

    node-sass@4.14.1报错的最终解决方案分享

    最近在安装node-sass@4.14.1的时候遇到了些问题,所以下面这篇文章主要给大家介绍了关于node-sass@4.14.1报错的最终解决方案,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • puppeteer库入门初探

    puppeteer库入门初探

    这篇文章主要介绍了puppeteer库入门初探,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 使用nodejs解析json数据

    使用nodejs解析json数据

    这篇文章主要介绍了使用nodejs解析json数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Node中使用ES6语法的基础教程

    Node中使用ES6语法的基础教程

    随着google和firfox以及node6.0对es6的支持,es6语法的定稿使它越来越受到关注,尤其是react项目基本上都是用es6来写的。下面这篇文章主要给大家介绍了关于Node中使用ES6语法的基础教程,需要的朋友可以参考下。
    2018-01-01
  • node检测端口可用性的实践示例

    node检测端口可用性的实践示例

    本文主要介绍了node检测端口可用性的实践示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Nodejs读取文件时相对路径的正确写法(使用fs模块)

    Nodejs读取文件时相对路径的正确写法(使用fs模块)

    本篇文章主要介绍了linux 环境 mysql写入中文报错的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • node中使用log4js4.x版本记录日志的方法

    node中使用log4js4.x版本记录日志的方法

    这篇文章主要介绍了node中使用log4js4.x版本记录日志的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Node.js包管理器代理工具Verdaccio轻松创建管理本地npm包仓库

    Node.js包管理器代理工具Verdaccio轻松创建管理本地npm包仓库

    这篇文章主要为大家介绍了Node.js包管理器代理工具Verdaccio轻松创建管理本地npm包仓库的使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10

最新评论