淺談如何通過node.js對數(shù)據(jù)進(jìn)行MD5加密
md5介紹:MD5是一種常用的哈希算法,主要用于對一些重要數(shù)據(jù)進(jìn)行“簽名”,當(dāng)然這些數(shù)據(jù)可以是任意的。最終得到的“簽名”通常都是一個(gè)16或32位的十六進(jìn)制的字符串。
實(shí)際工作開發(fā)中,是不會有人直接將密碼明文直接放到數(shù)據(jù)庫當(dāng)中的。因?yàn)檫@種做法是非常不安全的,一般都要對其進(jìn)行MD5加密!比如某用戶的密碼是“123456“(當(dāng)然這樣的密碼也沒有安全性可言),經(jīng)過MD5處理后即為:
“e10adc3949ba59abbe56e057f20f883e”。這樣做的好處主要有以下兩點(diǎn):
1、預(yù)防網(wǎng)站運(yùn)營內(nèi)部人員知道你的密碼,而做一些不道德的行為。因?yàn)橛泻芏嗳藶榱朔奖銓⑺械拿艽a都設(shè)置成一樣的。
2、預(yù)防外部的攻擊,如果你注冊的網(wǎng)站被黑客進(jìn)行攻擊,得到該網(wǎng)站的一些數(shù)據(jù),拿到的也是一堆經(jīng)MD5處理后的字符串。
注意:MD5一般是不能夠被反編譯的。前提是你的密碼不要設(shè)置的過于簡單。這也是現(xiàn)在為什么越來越多的網(wǎng)站,對用戶設(shè)置的密碼有了越來越高的要求,不僅僅是密碼長度要夠長,而且密碼里還要包括數(shù)字,大小字母,以及特殊字符串。
本篇文章將主要針對于在NODE.JS中如何對數(shù)據(jù)進(jìn)行MD5加密:
直接在NODE中引入md5依賴包:
下載安裝md5依賴包
npm install md5
md5加密實(shí)例:
var md5 =require("md5"); //設(shè)置加密字符串 var passWord="if(1==1){console.log('i love you')}"; console.log(md5(passWord));//a775657889f1ad6e19178c3cd734392b
當(dāng)然只是單純的對數(shù)據(jù)進(jìn)行MD5加密也并不安全,最好在數(shù)據(jù)上加上一點(diǎn)鹽料:
var md5 =require("md5"); //設(shè)置加密字符串 var passWord="if(1==1){console.log('i love you')}"; //在原來的字符串的基礎(chǔ)上加上一些特殊文本,例如“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 默認(rèn)32位小寫
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS如何調(diào)用WebAssembly編譯出來的.wasm文件
- 改進(jìn) JavaScript 和 Rust 的互操作性并深入認(rèn)識 wasm-bindgen 組件
- TypeScript與JavaScript項(xiàng)目里引入MD5校驗(yàn)和
- node.JS的crypto加密模塊使用方法詳解(MD5,AES,Hmac,Diffie-Hellman加密)
- 詳解易語言調(diào)用js實(shí)現(xiàn)md5加密方法
- node.JS md5加密中文與php結(jié)果不一致的解決方法
- 在JSP中如何實(shí)現(xiàn)MD5加密的方法
- wasm+js實(shí)現(xiàn)文件獲取md5示例詳解
相關(guān)文章
node基于express框架操作Mysql數(shù)據(jù)庫的步驟
這篇文章主要介紹了node基于express框架操作Mysql數(shù)據(jù)庫的步驟,文章給大家提到安裝mysql模塊和配置mysql模塊的步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03Node.js node-schedule定時(shí)任務(wù)隔多少分鐘執(zhí)行一次的方法
這篇文章主要介紹了Node.js node-schedule定時(shí)任務(wù)隔多少分鐘執(zhí)行一次的方法,本文給出了每隔 15 分鐘、 30 分鐘執(zhí)行一次任務(wù)的編碼實(shí)例,需要的朋友可以參考下2015-02-02參考?EventEmitter實(shí)現(xiàn)一個(gè)簡單的訂閱發(fā)布功能函數(shù)
這篇文章主要為大家介紹了參考?EventEmitter實(shí)現(xiàn)一個(gè)簡單的訂閱發(fā)布功能函數(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Nodejs+express+html5 實(shí)現(xiàn)拖拽上傳
文件上傳是一個(gè)比較常見的功能,傳統(tǒng)的選擇方式的上傳比較麻煩,需要先點(diǎn)擊上傳按鈕,然后再找到文件的路徑,然后上傳。給用戶體驗(yàn)帶來很大問題。html5開始支持拖拽上傳的需要的api。nodejs也是一個(gè)最近越來越流行的技術(shù),這也是自己第一次接觸nodejs。2014-08-08node.js cookie-parser之parser.js
這篇文章主要介紹node.js cookie-parser之parser.js,講解的比較詳細(xì),需要的朋友可以參考下。2016-06-06node使用require?mkdirp創(chuàng)建文件夾示例
這篇文章主要為大家介紹了node使用require?mkdirp創(chuàng)建文件夾示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08