浅谈如何通过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 相关文章推荐
IE本地存储userdata的一个bug说明
Jul 01 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
Jul 03 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
Apr 19 Javascript
jQuery中position()方法用法实例
Jan 16 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
Sep 24 Javascript
理解javascript中的MVC模式
Jan 28 Javascript
jQuery 调用WebService 实例讲解
Jun 28 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
Mar 14 Javascript
Echarts基本用法_动力节点Java学院整理
Aug 11 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
Oct 31 Javascript
vue删除html内容的标签样式实例
Sep 13 Javascript
如何测量vue应用运行时的性能
Jun 21 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
PHP实现文件安全下载
2006/10/09 PHP
用PHP和ACCESS写聊天室(一)
2006/10/09 PHP
PHP中Memcache操作类及用法实例
2014/12/12 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
jQuery事件用法详解
2016/10/06 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
微信小程序实现图片懒加载的示例代码
2017/12/13 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
Vue 中获取当前时间并实时刷新的实现代码
2020/05/12 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
python 读写、创建 文件的方法(必看)
2016/09/12 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
python 将md5转为16字节的方法
2018/05/29 Python
Python理解递归的方法总结
2019/01/28 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
单位领导证婚词
2014/01/14 职场文书
商场消防演习方案
2014/02/12 职场文书
《风筝》教学反思
2014/04/10 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python
Python集合的基础操作
2021/11/01 Python