浅谈如何通过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 相关文章推荐
javascript Xml增删改查(IE下)操作实现代码
Jan 30 Javascript
HTML颜色选择器实现代码
Nov 23 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
Dec 06 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
Jun 16 Javascript
浅析JavaScript中的同名标识符优先级
Dec 06 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
Jan 06 Javascript
jQuery.datatables.js插件用法及api实例详解
Oct 28 Javascript
如何在Angular2中使用jQuery及其插件的方法
Feb 09 Javascript
vue实现提示保存后退出的方法
Mar 15 Javascript
vue中如何让子组件修改父组件数据
Jun 14 Javascript
微信小程序登陆注册功能的实现代码
Dec 10 Javascript
ES2020让代码更优美的运算符 (?.) (??)
Jan 04 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
yii2实现 "上一篇,下一篇" 功能的代码实例
2017/02/04 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
使用AOP改善javascript代码
2015/05/01 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
php 解压zip压缩包内容到指定目录的实例
2018/01/23 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
vue插件开发之使用pdf.js实现手机端在线预览pdf文档的方法
2018/07/12 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
Nuxt 项目性能优化调研分析
2020/11/07 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
Python enumerate函数功能与用法示例
2019/03/01 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
python复合条件下的字典排序
2020/12/18 Python
详解px单位html5响应式方案
2018/03/08 HTML / CSS
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
高职教师岗位职责
2013/12/24 职场文书
军人违纪检讨书
2014/02/04 职场文书
学员自我鉴定
2014/03/19 职场文书
贷款委托书怎么写
2014/08/02 职场文书
医学检验专业自荐信
2014/09/18 职场文书
置业顾问岗位职责
2015/02/09 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android