浅谈如何通过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 04 Javascript
JS设置cookie、读取cookie、删除cookie
Apr 17 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
May 04 Javascript
JavaScript数组去重的几种方法效率测试
Oct 23 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 Javascript
使用vue.js写一个tab选项卡效果
Mar 25 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
Jun 15 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 Javascript
JS运动特效之链式运动分析
Jan 24 Javascript
Vue实现PC端靠边悬浮球的代码
May 09 Javascript
利用node.js开发cli的完整步骤
Dec 29 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
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
pw的一个放后门的方法分析
2007/10/08 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
php图片上传类 附调用方法
2016/05/15 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
JS backgroundImage控制
2009/05/19 Javascript
javascript 节点遍历函数
2010/03/28 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
python实现的登录和操作开心网脚本分享
2014/07/09 Python
探究Python中isalnum()方法的使用
2015/05/18 Python
Python实现比较两个列表(list)范围
2015/06/12 Python
python数据封装json格式数据
2018/03/04 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
TensorFlow实现指数衰减学习率的方法
2020/02/05 Python
pandas的resample重采样的使用
2020/04/24 Python
python如何建立全零数组
2020/07/19 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
工作保证书范文
2014/04/29 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
工作失职检讨书
2015/01/26 职场文书
市场总监岗位职责
2015/02/11 职场文书
研究生导师推荐信
2015/03/25 职场文书
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL