浅谈如何通过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 (十一) 实战表单验证与自动完成提示插件
Feb 23 Javascript
Js 时间函数getYear()的使用问题探讨
Apr 01 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
Oct 14 Javascript
js实现禁止中文输入的方法
Jan 14 Javascript
js获取form表单所有数据的简单方法
Aug 18 Javascript
jQuery包裹节点用法完整示例
Sep 13 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
Oct 29 Javascript
JS实现异步上传压缩图片
Apr 22 Javascript
Ionic2调用本地SQlite实例
Apr 22 Javascript
自定义vue全局组件use使用、vuex的使用详解
Jun 14 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
Vue实现开心消消乐游戏算法
Oct 22 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
php下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
python基础教程之常用运算符
2014/08/29 Python
Python实时获取cmd的输出
2015/12/13 Python
简单学习Python time模块
2016/04/29 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
python实现杨氏矩阵查找
2019/03/02 Python
python_mask_array的用法
2020/02/18 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
日本运动品牌美津浓官方购物网站:MIZUNO SHOP
2016/08/21 全球购物
英国香水店:The Perfume Shop
2017/03/27 全球购物
大二学生职业生涯规划书
2014/02/05 职场文书
2014年个人总结范文
2015/03/09 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书