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
来源: http://www.jianshu.com/p/42c19179d3ac