實際工作開發中,是不會有人直接將密碼明文直接放到數據庫當中的。因為這種做法是非常不安全的,壹般都要對其進行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位小寫