這是一篇隨筆,用於記錄在專案中用到乙個比較的你npm包。這個包之所以這個貨因為他的安全係數比以前用到的類似於md5,sha1要高,因為bcrypt加密,同樣乙個值,你每次加密出來的值是不一樣的。原來的md5加密就做不到這一點。好了廢話不多說,如果對bcrypt的演算法感興趣的話,大佬們可以去研究一下。下面我們來講講他的使用方法,其實npm倉庫也有,但是本人英文水平有限哈。當然英語好的還是去查官方文件。
使用:bcrypt提供了基本的兩種方式,hash 和hashsync 兩個方法,前者是非同步api,後者同步。
// 方式一
const bcrypt = require('bcrypt')
bcrypt.hash('777777', 10, (err, encrypted) =>
console.log(encrypted)
})// 方式二(promise風格)
bcrypt
.hash('777777', 10)
.then(result => )
.catch(err => )
// 方式三 hashsync
const hash = bcrypt.hashsync('777777', 10) // hash=>true
//*注意*: hashsync 是乙個同步的api,裡面只需要傳遞兩個引數,第乙個引數為data[string],第二個引數為salt[number]
非同步的方式獲取雜湊的值,第乙個引數為加密的資料(data)必須為string型別的值,第二個引數為salt 加密程度,型別必須是number 。 這裡salt的值可以 理解為加密的程度,salt值越大,越消耗時間,加密的程度也會越高
可以傳遞第三個引數,**函式(err/encrypted) 第乙個引數為錯誤,第二個引數為加密雜湊後的值
bcrypt提供了基本的兩種方式,compare 和comparesync 兩個方法,前者是非同步api,後者同步。
const bcrypt = require('bcrypt')
const hash = bcrypt.hashsync('777777', 10)
// 方式
一、非同步的比較
bcrypt.compare('777777', hash, (err, flag) =>
console.log(flag) //flag=>true
})// 方式
二、非同步比較(promise)風格
bcrypt
.compare('777777', hash)
.then(res => )
.catch(err => )
//方式三,同步比較
const flag = bcrypt.comparesync('777777', hash)// flag=>true
nodejs中使用bcrypt加密
bcrypt演算法簡介 bcrypt演算法相對來說是運算比較慢的演算法,在密碼學界有句常話 越慢的演算法越安全。演算法越算,黑客破解成本越高.通過salt和const這兩個值來減緩加密過程,ta的加密時間 百ms級 遠遠超過md5 大概1ms左右 對於計算機來說,bcrypt 的計算速度很慢,但是對...
使用BCrypt加密密碼
1.新增依賴 dependency groupid org.springframework.boot groupid artifactid spring boot starter security artifactid dependency 2.新增上述依賴後,所有位址都被spring securi...
BCrypt 加密方式
一 bcrypt簡介 bcrypt簡介 bcrypt是一種跨平台的檔案加密工具。bcrypt 使用的是布魯斯 施內爾在1993年發布的 blowfish 加密演算法。由它加密的檔案可在所有支援的作業系統和處理器上進行轉移。它的口令必須是8至56個字元,並將在內部被轉化為448位的金鑰。簡單的說,bc...