浅谈如何通过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 返回布尔值Is()条件判断方法代码
May 14 Javascript
jQuery获得内容和属性方法及示例
Dec 02 Javascript
JavaScript获取一个范围内日期的方法
Apr 24 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
Vue.js Ajax动态参数与列表显示实现方法
Oct 20 Javascript
JS获取年月日时分秒的方法分析
Nov 28 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
Dec 25 Javascript
JS实现数组去重复值的方法示例
Feb 18 Javascript
详解使用vue-admin-template的优化历程
May 20 Javascript
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 Javascript
利用JS判断元素是否为数组的方法示例
Jan 08 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/02 日漫
发挥语言的威力--融合PHP与ASP
2006/10/09 PHP
精通php的十大要点(上)
2009/02/04 PHP
php中经典方法实现判断多维数组是否为空
2011/10/23 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
php开启openssl的方法
2014/05/15 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
javascript 判断数组是否已包含了某个元素的函数
2010/05/30 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
使用javascript实现判断当前浏览器
2015/04/14 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
微信小程序开发实现消息推送
2020/11/18 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
python之import机制详解
2014/07/03 Python
python批量生成本地ip地址的方法
2015/03/23 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
Python3 元组tuple入门基础
2020/02/09 Python
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
港湾网络笔试题
2014/04/19 面试题
幼儿园教师个人反思
2014/01/30 职场文书
财务支持类个人的自我评价
2014/02/14 职场文书
盲山观后感
2015/06/11 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
SpringBoot整合RabbitMQ的5种模式实战
2021/08/02 Java/Android