浅谈如何通过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 相关文章推荐
iframe 父窗口和子窗口相互的调用方法集锦
Dec 15 Javascript
javascript使用location.search的示例
Nov 05 Javascript
jqGrid中文文档之选项设置
Dec 02 Javascript
JavaScript动态插入CSS的方法
Dec 10 Javascript
JavaScript创建对象的方式小结(4种方式)
Dec 17 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
Feb 26 Javascript
详解Matlab中 sort 函数用法
Mar 20 Javascript
简单实现jQuery进度条轮播实例代码
Jun 20 Javascript
jQuery中DOM节点的删除方法总结(超全面)
Jan 22 Javascript
jQuery中map函数的两种方式
Apr 07 jQuery
Bootstrap Table使用整理(四)之工具栏
Jun 09 Javascript
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
如何用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
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php数组中删除元素的实现代码
2012/06/22 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
2019/06/03 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
Vue2.0 $set()的正确使用详解
2020/07/28 Javascript
js实现飞机大战游戏
2020/08/26 Javascript
Python进程间通信用法实例
2015/06/04 Python
python统计日志ip访问数的方法
2015/07/06 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
Python构建XML树结构的方法示例
2017/06/30 Python
django自带的server 让外网主机访问方法
2018/05/14 Python
python顺序的读取文件夹下名称有序的文件方法
2018/07/11 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
秋季运动会稿件
2014/01/30 职场文书
科技活动总结范文
2015/05/11 职场文书
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android
Win11快速关闭所有广告推荐
2022/04/19 数码科技