浅谈如何通过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 相关文章推荐
巧妙破除网页右键禁用的十大绝招
Aug 12 Javascript
自适应高度框架 ----属个人收藏内容
Jan 22 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
Oct 29 Javascript
javascript for循环设法提高性能
Feb 24 Javascript
关于include标签导致js路径找不到的问题分析及解决
Jul 09 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
Aug 07 Javascript
javascript实现仿百度图片的瀑布流加载效果
Apr 20 Javascript
关于Function中的bind()示例详解
Dec 02 Javascript
js实现4个方向滚动的球
Mar 06 Javascript
js中变量的连续赋值(实例讲解)
Jul 08 Javascript
React 无状态组件(Stateless Component) 与高阶组件
Aug 14 Javascript
vscode调试node.js的实现方法
Mar 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
php mysql数据库操作分页类
2008/06/04 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
php并发对MYSQL造成压力的解决方法
2013/02/21 PHP
php判断页面是否是微信打开的示例(微信打开网页)
2014/04/25 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
PHP生成器简单实例
2015/05/13 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
php中namespace及use用法分析
2016/12/06 PHP
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
微信小程序 Record API详解及实例代码
2016/09/30 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
webpack+react+antd脚手架优化的方法
2018/04/02 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
5种Python单例模式的实现方式
2016/01/14 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
python中web框架的自定义创建
2019/09/08 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
临床医学专业毕业生的自我评价
2013/10/17 职场文书
机电一体化大学生求职信
2013/11/08 职场文书
绩效工资实施方案
2014/03/15 职场文书
工作分析计划书
2014/04/30 职场文书
建设工地安全标语
2014/06/07 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
MySQL常用慢查询分析工具详解
2022/08/14 MySQL