首頁 >資料庫 >mysql教程 >我應該使用什麼資料類型和長度來儲存密碼雜湊?

我應該使用什麼資料類型和長度來儲存密碼雜湊?

Barbara Streisand
Barbara Streisand原創
2024-12-28 01:27:11213瀏覽

What Data Type and Length Should I Use for Storing Password Hashes?

儲存密碼雜湊:資料類型和長度注意事項

雜湊是在資料庫中儲存密碼的基本安全措施。然而,哈希密碼欄位所需的特定資料類型和長度取決於所採用的雜湊演算法。

雜湊演算法及其輸出長度

不同的雜湊演算法會產生不同長度的輸出。以下是常用選項:

  • MD5:128 位元(32 個十六進位字元)
  • SHA-1:160 位元(40 個十六進位字元)
  • SHA -224:224位元(56個字元十六進位)
  • SHA-256:256 位元(十六進位64 個字元)
  • SHA-384:384 位元(十六進位96 個字元)
  • SHA-512:512 位元(128位元字元十六進位)
  • BCrypt:448 位元(十六進位 56-76字元)

推薦資料類型

基於以上,雜湊密碼欄位的適當資料類型取決於演算法使用:

  • CHAR(32)BINARY(16) MD5
  • CHAR(40)BINARY(20) 為SHA-1
  • CHAR(56)BINARY(28) 對於SHA-224
  • CHAR(64)BINARY(32) 為SHA-256
  • CHAR(96)BINARY(48) SHA-384
  • CHAR(128)BINARY(64) 為SHA-512
  • CHAR(56-76)
CHAR(56-76)

CHAR(56-76)

for BCrypt

注意:

BCrypt的輸出長度取決於實現,因此它是檢查特定庫或程式語言文件以獲取確切的資訊至關重要

其他注意事項雖然上述建議提供了一般準則,但值得注意的是,由於技術的進步,僅依靠哈希演算法來儲存密碼是不夠的在破解技術中。為了增強密碼安全性,請考慮使用 BCrypt 或 Argon2i 等金鑰強化雜湊函數,它們會產生更長、更複雜的雜湊值。

以上是我應該使用什麼資料類型和長度來儲存密碼雜湊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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