浅谈如何通过node.js对数据进行MD5加密


Posted in Javascript onMay 16, 2018

md5介绍:MD5是一种常用的哈希算法,主要用于对一些重要数据进行“签名”,当然这些数据可以是任意的。最终得到的“签名”通常都是一个16或32位的十六进制的字符串。

实际工作开发中,是不会有人直接将密码明文直接放到数据库当中的。因为这种做法是非常不安全的,一般都要对其进行MD5加密!比如某用户的密码是“123456“(当然这样的密码也没有安全性可言),经过MD5处理后即为:

“e10adc3949ba59abbe56e057f20f883e”。这样做的好处主要有以下两点:

1、预防网站运营内部人员知道你的密码,而做一些不道德的行为。因为有很多人为了方便将所有的密码都设置成一样的。

2、预防外部的攻击,如果你注册的网站被黑客进行攻击,得到该网站的一些数据,拿到的也是一堆经MD5处理后的字符串。

注意:MD5一般是不能够被反编译的。前提是你的密码不要设置的过于简单。这也是现在为什么越来越多的网站,对用户设置的密码有了越来越高的要求,不仅仅是密码长度要够长,而且密码里还要包括数字,大小字母,以及特殊字符串。

本篇文章将主要针对于在NODE.JS中如何对数据进行MD5加密:

直接在NODE中引入md5依赖包:

下载安装md5依赖包

npm install md5

md5加密实例:

var md5 =require("md5");
//设置加密字符串
var passWord="if(1==1){console.log('i love you')}";
console.log(md5(passWord));//a775657889f1ad6e19178c3cd734392b

当然只是单纯的对数据进行MD5加密也并不安全,最好在数据上加上一点盐料:

var md5 =require("md5");
//设置加密字符串
var passWord="if(1==1){console.log('i love you')}";
//在原来的字符串的基础上加上一些特殊文本,例如“zhangpeiyue.com"
console.log(md5(passWord+"zhangpeiyue.com"));//13c22698f52329433107e75b49330484

nodejs中的MD5加密方式:

第一种:

var crypto=require('crypto'); 
var md5=crypto.createHash("md5"); 
md5.update("abcdef"); 
var str=md5.digest('hex'); 
var s=str.toUpperCase(); //32位大写 
console.log(s);

第二种: 

var md5=require("md5") 
var str=md5("abcdef") 
//str=e80b5017098950fc58aad83c8c14978e 默认32位小写

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery ui 1.7更新小结
Aug 15 Javascript
Jquery实现无刷新DropDownList联动实现代码
Mar 08 Javascript
把input初始值不写value的具体实现方法
Jul 04 Javascript
实现51Map地图接口(示例代码)
Nov 22 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
Apr 12 Javascript
jquery模拟进度条实现方法
Aug 03 Javascript
微信小程序 video详解及简单实例
Jan 16 Javascript
简单谈谈JS中的正则表达式
Sep 11 Javascript
Node.js Stream ondata触发时机与顺序的探索
Mar 08 Javascript
Echarts动态加载多条折线图的实现代码
May 24 Javascript
使用Angular material主题定义自己的组件库的配色体系
Sep 04 Javascript
vue实现在进行增删改操作后刷新页面
Aug 05 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 #jQuery
vue keep-alive请求数据的方法示例
May 16 #Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
May 16 #Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
May 15 #Javascript
JavaScript常用截取字符串的三种方式用法区别实例解析
May 15 #Javascript
vue中keep-alive的用法及问题描述
May 15 #Javascript
react中使用swiper的具体方法
May 15 #Javascript
You might like
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
php利用header函数实现文件下载时直接提示保存
2009/11/12 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
jQuery live
2009/05/15 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
用jquery实现等比例缩放图片效果插件
2010/07/24 Javascript
ExtJS 入门
2010/10/29 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
Javascript创建自定义对象 创建Object实例添加属性和方法
2012/06/04 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
Angular.js中定时器循环的3种方法总结
2017/04/27 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
2017/05/09 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
python简单商城购物车实例代码
2018/03/15 Python
Python3中exp()函数用法分析
2019/02/19 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
文员个人求职自荐信
2013/09/21 职场文书
继承公证书样本
2014/04/04 职场文书
英语专业求职信
2014/07/08 职场文书
家具商场的活动方案
2014/08/16 职场文书
农行心得体会
2014/09/02 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
单位工资证明范本
2015/06/12 职场文书