NodeJS實作不可逆加密與密碼密文保存的方法
這篇文章主要介紹了NodeJS實現不可逆加密與密碼密文保存的方法,簡單講述了不可逆加密與密碼密文保存的原理並結合實例形式分析了nodejs相關加密操作實現技巧,需要的朋友可以參考下
本文實例講述了NodeJS實作不可逆加密與密碼密文保存的方法。分享給大家供大家參考,具體如下:
在應用程式中,常常有要將使用者的密碼加密儲存的需要。
以明文儲存密碼有個缺點:一旦洩漏時容易造成極大的損失,可能會連帶其他網站的使用者、密碼也造成損失(因為多數使用者在多數網站使用相同的帳號與密碼)。
這個洩漏可能來自於兩方面:駭客入侵與維運人員監守自盜。
為了防止密碼明文洩漏,我們需要對在資料庫中保存的密碼欄位進行不可逆加密。準確地說,是加密以後再儲存到資料庫。
常用的不可逆加密演算法有MD5與SHA-1。
在NodeJS中,它們的使用極為簡便,直接使用官方內建的crypto
套件即可:
##
var clearText = '123456'; // MD5 Hash require('crypto').createHash('md5').update(clearText).digest('hex'); // 'e10adc3949ba59abbe56e057f20f883e' // SHA-1 Hash require('crypto').createHash('sha1').update(clearText).digest('hex'); // '7c4a8d09ca3762af61e59520943dc26494f8941b'
#當使用者註冊時,將使用者提交的密碼先不可逆加密,然後將密文保存在資料庫內。
當使用者登入時,將使用者提交的密碼先以相同方式加密,然後與資料庫中的密文比對,來判斷密碼的正誤。
理論上有無數個密碼對應同一個Hash值,不過不用過於擔心被撞表的風險,因為相較之下,你的Web伺服器與資料庫可能會在泛洪攻擊中先行崩潰。 上面是我整理給大家的,希望今後對大家有幫助。 相關文章:vue.js element-ui tree樹形控制項改iview的方法
以上是NodeJS實作不可逆加密與密碼密文保存的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

無線網路已成為人們生活中不可或缺的一部分、在當今數位化的世界中。保護個人無線網路的安全性卻顯得格外重要、然而。設定強密碼是確保你的WiFi網路不會被他人入侵的關鍵。保障你的網路安全,本文將詳細介紹如何使用手機修改路由器WiFi密碼。 1.開啟路由器管理頁面-在手機瀏覽器中開啟路由器管理頁面、透過輸入路由器的預設IP位址。 2.輸入管理員使用者名稱和密碼-以獲得存取權限,在登入頁面中輸入正確的管理員使用者名稱和密碼。 3.導覽至無線設定頁面-尋找並點選進入無線設定頁面,在路由器管理頁面中。 4.找到當前Wi

無線網路已成為我們生活中不可或缺的一部分、隨著網路的快速發展。為了保護個人資訊和網路安全,定期更改wifi密碼是非常重要的、然而。幫助大家更能保護家庭網路安全,本文將為大家介紹如何利用手機修改wifi密碼的詳細教學。 1.了解wifi密碼的重要性wifi密碼是保護個人資訊和網路安全的道防線,在網路時代、了解其重要性可以更好地理解為什麼需要定期修改密碼。 2.確認手機連接到wifi首先確保手機已連接到要修改密碼的wifi網路上,在修改wifi密碼之前。 3.開啟手機設定選單進入手機的設定選單、在手

要連接 MySQL 資料庫,需要遵循以下步驟:安裝 mysql2 驅動程式。使用 mysql2.createConnection() 建立連接對象,其中包含主機位址、連接埠、使用者名稱、密碼和資料庫名稱。使用 connection.query() 執行查詢。最後使用 connection.end() 結束連線。

在Windows10系統中,密碼原則是一套安全性規則,確保使用者設定的密碼符合一定的強度和複雜性要求,而係統提示您的密碼不符合密碼原則要求則通常意味著您的密碼沒有達到微軟設定的複雜度、長度或字元種類的標準,那麼這種情況要如何避免呢?使用者可以直接的找到本地電腦策略下的密碼策略來進行操作就可以了,下面就一起來看看吧。不符合密碼原則規範的解決方法修改密碼長度:根據密碼原則要求,我們可以嘗試增加密碼的長度,例如將原來的6位密碼改為8位或更長。新增特殊字符:密碼策略通常要求包含特殊字符,如@、#、$等。我

Node.js 中存在以下全域變數:全域物件:global核心模組:process、console、require執行階段環境變數:__dirname、__filename、__line、__column常數:undefined、null、NaN、Infinity、-Infinity

Node.js 安裝目錄中有兩個與 npm 相關的文件:npm 和 npm.cmd,區別如下:擴展名不同:npm 是可執行文件,npm.cmd 是命令視窗快捷方式。 Windows 使用者:npm.cmd 可以在命令提示字元中使用,npm 只能從命令列執行。相容性:npm.cmd 特定於 Windows 系統,npm 跨平台可用。使用建議:Windows 使用者使用 npm.cmd,其他作業系統使用 npm。

我們的手機已經成為我們生活中不可或缺的一部分、在現代社會中。而無線網路連線也成為了我們日常生活中不可或缺的工具。然而,有時候我們會面臨這樣的狀況:想要連接其他裝置卻束手無策、我們連線了WiFi,但忘了密碼。如何輕鬆取得已連接手機WiFi密碼?尋找手機中已儲存的WiFi密碼1.在設定中找到「WiFi」選項找到並點擊,進入手機的設定介面「WiFi」進入WiFi設定頁面,選項。 2.開啟已連線的WiFi網路詳情找到已連線的WiFi網路名稱,點選進入該網路的詳細資料頁面,在WiFi設定頁面中。 3.
