浅谈如何通过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 相关文章推荐
js实现感应鼠标图片透明度变化的方法
Feb 20 Javascript
js实现的二分查找算法实例
Jan 21 Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 Javascript
纯前端JavaScript实现Excel IO案例分享
Aug 26 Javascript
用js写的一个路由(简单实例)
Sep 24 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
Mar 15 Javascript
javascript 中模板方法单例的实现方法
Oct 17 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
Jan 26 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
Mar 20 Javascript
详解基于Vue/React项目的移动端适配方案
Aug 23 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
Apr 14 Javascript
JavaScript中的各种宽高属性的实现
May 08 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中create table语句的基本语法是
2007/01/15 PHP
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
php+jQuery.uploadify实现文件上传教程
2014/12/26 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
2015/01/08 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
微信小程序  Mustache语法详细介绍
2016/10/27 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
Android分包MultiDex策略详解
2017/10/30 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
python 遍历pd.Series的index和value
2019/11/26 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
python识别验证码的思路及解决方案
2020/09/13 Python
Pytorch如何切换 cpu和gpu的使用详解
2021/03/01 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
英语生日邀请函
2014/01/23 职场文书
学校招生宣传广告词
2014/03/19 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
创先争优演讲稿
2014/09/15 职场文书
总经理岗位职责范本
2015/04/01 职场文书
安全生产感想
2015/08/07 职场文书
MySQL注入基础练习
2021/05/30 MySQL
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android