2024 年日本 PHP 研討會

簡介

此擴充功能提供了一些函式,可用於使用各種雜湊演算法直接或增量處理任意長度的訊息,包括產生 HMAC 值和金鑰衍生,包括 HKDFPBKDF2

雜湊演算法大致分為三類,完整的演算法列表可以在 hash_algos() 的文件中找到。

  • 校驗和演算法(例如 "crc32b""adler32"):這些用於計算校驗和,適用於需要偵測傳輸錯誤的情況。它們通常速度非常快。這些演算法通常產生的值很容易「猜到」或可以被操縱以產生碰撞,因此它們完全不適合用於加密。
  • 非加密雜湊演算法(例如 xxHash 家族):這些演算法通常用於計算雜湊表的雜湊值,因為它們設計用於在任意字串輸入上產生良好的分佈。它們通常速度很快,但不適合用於加密用途。
  • 加密雜湊演算法(例如 SHA-2 家族):這些演算法設計用於產生代表其輸入的雜湊值,但無法猜測且不易發生碰撞。效能通常是次要考量,但現代硬體通常支援這些演算法的特殊處理,PHP 會在可用時嘗試使用。 美國國家標準與技術研究院 (NIST) 的電腦安全資源中心有» 目前美國聯邦資訊處理標準核准的演算法說明
    注意

    一些早期的加密演算法,例如 "md4""md5""sha1",已被證明容易受到碰撞攻擊,通常建議不再將它們用於加密應用程式。

另請參閱安全密碼雜湊的常見問題,以了解在處理密碼時使用雜湊函數的最佳實務。

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top