国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Express下采用bcryptjs進行密碼加密的方法

來源:懂視網 責編:小采 時間:2020-11-27 22:19:57
文檔

Express下采用bcryptjs進行密碼加密的方法

Express下采用bcryptjs進行密碼加密的方法:前幾天利用Express開發了個小項目,開發登錄注冊模塊時,采用bcryptjs進行密碼加密,總結了一下內容: bcrypt,是一個跨平臺的文件加密工具。由它加密的文件可在所有支持的操作系統和處理器上進行轉移。它的口令必須是8至56個字符,并將在內部被轉化為448
推薦度:
導讀Express下采用bcryptjs進行密碼加密的方法:前幾天利用Express開發了個小項目,開發登錄注冊模塊時,采用bcryptjs進行密碼加密,總結了一下內容: bcrypt,是一個跨平臺的文件加密工具。由它加密的文件可在所有支持的操作系統和處理器上進行轉移。它的口令必須是8至56個字符,并將在內部被轉化為448

前幾天利用Express開發了個小項目,開發登錄注冊模塊時,采用bcryptjs進行密碼加密,總結了一下內容:

bcrypt,是一個跨平臺的文件加密工具。由它加密的文件可在所有支持的操作系統和處理器上進行轉移。它的口令必須是8至56個字符,并將在內部被轉化為448位的密鑰。

除了對您的數據進行加密,默認情況下,bcrypt 在刪除數據之前將使用隨機數據三次覆蓋原始輸入文件,以阻撓可能會獲得您的計算機數據的人恢復數據的嘗試。如果您不想使用此功能,可設定禁用此功能。

bcrypt 使用的是布魯斯·施內爾在1993年發布的 Blowfish 加密算法。具體來說,bcrypt 使用保羅·柯切爾的算法實現。隨 bcrypt 一起發布的源代碼對原始版本作了略微改動。

Express下bcryptjs的使用步驟:

1.安裝bcryptjs模塊

npm install bcryptjs --save

2.在需要加密的模塊中引入bcryptjs庫

var bcrypt = require('bcryptjs');

3.設置加密強度

var salt = bcrypt.genSaltSync(10);

4.注冊時生成HASH值,并插入數據庫

router.post('/register', function(req, res, next){
 // 從連接池獲取連接
 pool.getConnection(function(err, connection) {
 // 獲取前臺頁面傳過來的參數
 var param = req.query || req.params;
 /*生成HASH值*/
 var hash = bcrypt.hashSync(param.pwd,salt);
 // 建立連接 新增用戶
 connection.query(userSQL.insert, ["",hash,param.phone,"","","",0], function(err, result) {
 res.send(result);
 // 釋放連接
 connection.release();
 });
 });
});

5.登錄時驗證HASH值,并插入數據庫

router.post('/login', function(req, res, next){
 // 從連接池獲取連接
 pool.getConnection(function(err, connection) {
 // 獲取前臺頁面傳過來的參數
 var param = req.query || req.params;
 // 建立連接 根據手機號查找密碼
 connection.query(userSQL.getPwdByPhoneNumber, [param.phone], function(err, result) {
 if(bcrypt.compareSync(param.pwd,result[0].password)){
 res.send("1");
 connection.query(userSQL.updateLoginStatusById, [1,result[0].id], function(err, result) {
 });
 }else{
 res.send("0");
 }
 // 釋放連接
 connection.release();
 });
 });
});

以上采用的是bcryptjs的同步用法,下面介紹異步用法:

生成hash密碼:

bcrypt.genSalt(10, function(err, salt) {
 bcrypt.hash("B4c0/\/", salt, function(err, hash) {
 // Store hash in your password DB.
 });
});

密碼驗證:

bcrypt.compare("B4c0/\/", hash).then((res) => {
 // res === true
});

下面是使用Bcrypt對數據加密的一個簡單的栗子:

var mongoose = require('mongoose');
// 引入bcrypt模塊
var bcrypt = require('bcrypt');
// 定義加密密碼計算強度
var SALT_WORK_FACTOR = 10;

// 連接數據庫
mongoose.connect('mongodb://localhost:27017/test')

// 定義用戶模式
var UserSchema = new mongoose.Schema({
 name: {
 unique: true,
 type: String
 },
 password: {
 unique: true,
 type: String
 }
},{ collection: "user"});

// 使用pre中間件在用戶信息存儲前進行密碼加密
UserSchema.pre('save', function(next){
 var user = this;

 // 進行加密(加鹽)
 bcrypt.genSalt(SALT_WORK_FACTOR, function(err, salt){
 if(err){
 return next(err);
 }
 bcrypt.hash(user.password, salt, function(err, hash){
 if(err){
 return next(err);
 }
 user.password = hash;
 next();
 })
 });
});

// 編譯模型
var UserBox = mongoose.model('UserBox', UserSchema);

// 創建文檔對象實例
var user = new UserBox ({
 name : "Jack" ,
 password : "123456"
});

// 保存用戶信息
user.save(function(err, user){
 if(err){
 console.log(err);
 }else{
 // 如果保存成功,打印用戶密碼
 console.log("password: " + user.password);
 }
})

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Express下采用bcryptjs進行密碼加密的方法

Express下采用bcryptjs進行密碼加密的方法:前幾天利用Express開發了個小項目,開發登錄注冊模塊時,采用bcryptjs進行密碼加密,總結了一下內容: bcrypt,是一個跨平臺的文件加密工具。由它加密的文件可在所有支持的操作系統和處理器上進行轉移。它的口令必須是8至56個字符,并將在內部被轉化為448
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 一级毛片黄 | 91久久国产综合精品女同我 | 精品国产一区二区三区香蕉 | 99热免费| 亚洲欧美影视 | 亚洲一区二区三区免费视频 | 欧美精品v国产精品v日韩精品 | 国产综合社区 | 美国一级大黄大色毛片 | 中文字幕 日韩有码 | 国产精品视频免费视频 | 亚洲欧美综合图片 | 日日草视频 | 亚洲第一区视频在线观看 | 久久精品a亚洲国产v高清不卡 | 亚洲欧美另类视频 | 国产一区亚洲二区三区 | 日本成人一级 | 国产精品亚洲色图 | 久久91这里精品国产2020 | 亚洲欧美一区二区三区久本道 | 国产91成人 | 欧美成人一区二区三区 | 久久91这里精品国产2020 | 国产区精品在线 | 日韩网 | 91精品一区二区三区在线观看 | 欧洲一区二区三区在线观看 | 欧美高清第一页 | 日韩有码在线播放 | 在线亚洲精品 | 国产一区在线看 | 久久精品国产精品亚洲综合 | 日韩精品a在线视频 | 久久艹精品 | 亚洲精品国产成人7777 | 欧美日韩一 | 在线视频日韩 | 国产精品成人一区二区1 | 亚洲综合视频 | 国产欧美一区二区三区视频 |