首頁 後端開發 php教程 怎樣去儲存用戶密碼安全

怎樣去儲存用戶密碼安全

Aug 04, 2017 pm 05:55 PM
安全 密碼 使用者

一:基礎知識:加鹽雜湊( Hashing with Salt)

我們已經知道,惡意攻擊者使用查詢表和彩虹表,破解普通雜湊加密有多麼快。我們也已經

了解到,使用隨機加鹽雜湊可以解決這個問題。但是,我們使用什麼樣的鹽值,又如何將其

混入密碼中?

 

鹽值應該使用加密的安全偽隨機數產生器( Cryptographically Secure Pseudo-Random

Number Generator,CSPRNG )產生。 CSPRNG和普通的偽隨機數產生器有很大不同,

如「 C 」語言的rand()函數。顧名思義, CSPRNG 被設計成用於加密安全,這意味著它能提

供高度隨機、完全不可預測的隨機數。我們不希望鹽值能夠被預測到,所以必須使用 CSPRNG 。

下表列出了一些目前主流程式設計平台的 CSPRNG 方法。

Any language on GNU/Linux or Unix
Platform CSPRNG
PHP mcrypt_create_iv, openssl_random_pseudo_bytes
Java java.security.SecureRandom
Dot NET (C#, VB) System.Security.Cryptography.RNGCryptoServiceProvider
Ruby SecureRandom
Python os.urandom
Python os.urandom
Perl Math::Random::Secure
C/C++ (Windows API) CryptGenRandom

Read from /dev/random or /dev/urandom

#每個使用者的每一個密碼都要使用獨一無二的鹽值。使用者每次建立帳號或變更密碼時,密碼應採用一個新的隨機鹽值。 永遠不要重複使用某個鹽值。這個鹽值也應該足夠長,以使有足夠的鹽值能用於哈希加密。一個經驗規則是,鹽值至少要跟雜湊函數的輸出一樣長。此鹽應和密碼雜湊一起儲存在使用者帳號表中。

  1. 儲存密碼的步驟:

  2. #使用 CSPRNG 產生足夠長的隨機鹽值。
  3. 將鹽值混入密碼,並使用標準的密碼雜湊函數進行加密,如Argon2、 bcrypt 、 scrypt 或 PBKDF2 。

將鹽值和對應的雜湊值一起存入使用者資料庫。

  1. 校驗密碼的步驟:

  2. #從資料庫檢索出使用者的鹽值和對應的哈希值。
  3. 將鹽值混入使用者輸入的密碼,並且使用通用的雜湊函數進行加密。

###比較上一個步驟的結果,是否和資料庫儲存的雜湊值相同。如果它們相同,則表示密碼是正確的;否則,該密碼錯誤。 ############ ####

以上是怎樣去儲存用戶密碼安全的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

如何使用手機設定路由器WiFi密碼(以手機為工具) 如何使用手機設定路由器WiFi密碼(以手機為工具) Apr 24, 2024 pm 06:04 PM

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

手機修改wifi密碼教學(簡單操作) 手機修改wifi密碼教學(簡單操作) Apr 26, 2024 pm 06:25 PM

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

Win10密碼不符合密碼原則要求咋辦? 電腦密碼不符合政策要求解決方法 Win10密碼不符合密碼原則要求咋辦? 電腦密碼不符合政策要求解決方法 Jun 25, 2024 pm 04:59 PM

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

輕鬆取得已連接手機WiFi密碼的方法(快速尋找手機中已儲存的WiFi密碼) 輕鬆取得已連接手機WiFi密碼的方法(快速尋找手機中已儲存的WiFi密碼) May 08, 2024 pm 01:10 PM

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

如何透過路由器重新設定WiFi密碼(簡單步驟幫您保護家庭網路安全) 如何透過路由器重新設定WiFi密碼(簡單步驟幫您保護家庭網路安全) May 03, 2024 pm 03:01 PM

無線網路已經成為我們生活中不可或缺的一部分、在現代社會中。保護家庭WiFi網路的安全性也變得越來越重要,然而。重新設定WiFi密碼是確保網路安全的關鍵任務。以保護您的家庭網路安全,本文將向您介紹如何透過路由器重新設定WiFi密碼。了解路由器登入介面連接路由器並打開管理頁面輸入管理員用戶名和密碼進入無線設定選項找到當前的WiFi名稱和密碼備份網路設定選擇修改密碼選項輸入新的WiFi密碼設定強密碼保存設定並退出重新連接裝置到新WiFi網路測試連線是否成功配置其他安全設定定期變更WiFi密碼了解路

使用C++實現機器學習演算法:安全性考量與最佳實踐 使用C++實現機器學習演算法:安全性考量與最佳實踐 Jun 01, 2024 am 09:26 AM

在使用C++實作機器學習演算法時,安全考量至關重要,包括資料隱私、模型篡改和輸入驗證。最佳實務包括採用安全庫、最小化權限、使用沙盒和持續監控。實戰案例中展示了使用Botan庫對CNN模型進行加密和解密,以確保安全訓練和預測。

PHP微框架:Slim 與 Phalcon 的安全性探討 PHP微框架:Slim 與 Phalcon 的安全性探討 Jun 04, 2024 am 09:28 AM

Slim和Phalcon在PHP微框架的安全性比較中,Phalcon內建有CSRF和XSS防護、表單驗證等安全特性,而Slim缺乏開箱即用的安全特性,需手動實施安全措施。對於安全至關重要的應用程序,Phalcon提供了更全面的保護,是更好的選擇。

Struts 2框架的安全配置與加固 Struts 2框架的安全配置與加固 May 31, 2024 pm 10:53 PM

為保護Struts2應用程序,可以使用以下安全性配置:停用未使用的功能啟用內容類型檢查驗證輸入啟用安全性令牌防止CSRF攻擊使用RBAC限制基於角色的訪問

See all articles