溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

淺談如何通過node.js對數(shù)據(jù)進行MD5加密

發(fā)布時間:2020-09-21 20:39:24 來源:腳本之家 閱讀:175 作者:張培躍 欄目:web開發(fā)

md5介紹:MD5是一種常用的哈希算法,主要用于對一些重要數(shù)據(jù)進行“簽名”,當(dāng)然這些數(shù)據(jù)可以是任意的。最終得到的“簽名”通常都是一個16或32位的十六進制的字符串。

實際工作開發(fā)中,是不會有人直接將密碼明文直接放到數(shù)據(jù)庫當(dāng)中的。因為這種做法是非常不安全的,一般都要對其進行MD5加密!比如某用戶的密碼是“123456“(當(dāng)然這樣的密碼也沒有安全性可言),經(jīng)過MD5處理后即為:

“e10adc3949ba59abbe56e057f20f883e”。這樣做的好處主要有以下兩點:

1、預(yù)防網(wǎng)站運營內(nèi)部人員知道你的密碼,而做一些不道德的行為。因為有很多人為了方便將所有的密碼都設(shè)置成一樣的。

2、預(yù)防外部的攻擊,如果你注冊的網(wǎng)站被黑客進行攻擊,得到該網(wǎng)站的一些數(shù)據(jù),拿到的也是一堆經(jīng)MD5處理后的字符串。

注意:MD5一般是不能夠被反編譯的。前提是你的密碼不要設(shè)置的過于簡單。這也是現(xiàn)在為什么越來越多的網(wǎng)站,對用戶設(shè)置的密碼有了越來越高的要求,不僅僅是密碼長度要夠長,而且密碼里還要包括數(shù)字,大小字母,以及特殊字符串。

本篇文章將主要針對于在NODE.JS中如何對數(shù)據(jù)進行MD5加密:

直接在NODE中引入md5依賴包:

下載安裝md5依賴包

npm install md5

md5加密實例:

var md5 =require("md5");
//設(shè)置加密字符串
var passWord="if(1==1){console.log('i love you')}";
console.log(md5(passWord));//a775657889f1ad6e19178c3cd734392b

當(dāng)然只是單純的對數(shù)據(jù)進行MD5加密也并不安全,最好在數(shù)據(jù)上加上一點鹽料:

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í)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI