首頁 >後端開發 >PHP問題 >php中的hash方法有哪些

php中的hash方法有哪些

青灯夜游
青灯夜游原創
2022-01-24 14:26:084534瀏覽

php中的hash方法:hash_algos()、hash_copy()、hash_equals()、hash_file()、hash_final()、hash_hkdf()、hash_hmac()、hash_init()、hash()等。

php中的hash方法有哪些

本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦

php中的hash方法

  • hash_algos — 傳回已註冊的雜湊演算法清​​單

  • hash_copy — 拷貝雜湊運算上下文

  • hash_equals — 可防止時序攻擊的字串比較

  • #hash_file — 為指定檔案的內容產生雜湊值

  • #hash_final — 結束增量哈希,並且返回摘要結果

  • #hash_hkdf — Generate a HKDF key derivation of a supplied key input

  • hash_hmac_algos — Return a list of registered hashing algorithms suitable for hash_hmac

  • hash_hmac_file — 使用HMAC 方法和給定檔案的內容產生帶有金鑰的雜湊值

  • hash_hmac — 使用HMAC 方法產生帶有金鑰的雜湊值

  • #hash_init — 初始化增量雜湊運算上下文

  • #hash_pbkdf2 — 產生所提供密碼的PBKDF2 金鑰匯出

  • hash_update_file — 從檔案到活躍的雜湊運算上下文中填入資料

  • #hash_update_stream — 從開啟的流向活躍的雜湊運算上下文中填入資料

  • #hash_update — 向活躍的雜湊運算上下文中填入資料

hash — 產生雜湊值(訊息摘要)

hash_algos()

hash_algos — 傳回已註冊的雜湊演算法列表

語法:

hash_algos()

傳回值:傳回一個數值索引的陣列,包含了受支援的雜湊演算法名稱。

hash_copy()

hash_copy — 拷貝雜湊運算情境

語法:
    hash_copy($context)
#$context:由 hash_init() 函數傳回的雜湊運算情境。

傳回值:傳回哈希運算上下文的複本。

hash_equals()

hash_equals — 可防止時序攻擊的字串比較

語法:
    hash_equals($known_string, $user_string)
  • $known_string:已知長度的、要參與比較的 string

$user_string:使用者提供的字串

傳回值:當兩個字串相等時傳回 true,否則傳回 false。

hash_file()

hash_file — 給指定檔案的內容產生雜湊值

語法:
    hash_file($algo,$filename ,$binary = false)
  • $algo:要使用的雜湊演算法的名稱(例如:"md5","sha256","haval160,4" 等) 。可以在 hash_algos() 中查看目前支援的演算法。

  • $filename:要進行雜湊運算的檔案位置的 URL ;支援 fopen 封裝協定。

$binary:當設定為 true 時,輸出原始二進位資料。設定為 false 時,輸出小寫的十六進位字串。

傳回值:如果 binary 設定為 true, 則傳回原始二進位資料表示的資訊摘要, 否則傳回十六進位小寫字串格式所表示的資訊摘要。

hash_final()

hash_final — 結束增量哈希,並且傳回摘要結果

語法:
    hash_final($context,$ raw_output = false)
  • $context:hash_init() 函數傳回的雜湊運算上下文資源。


  • $raw_output:設定為 true,輸出格式為原始的二進位資料。設定為 false,輸出小寫的 16 進位字串。

傳回值:如果 raw_output 設定為 true, 則傳回原始二進位資料表示的資訊摘要, 否則傳回 16 進位小寫字串格式所表示的資訊摘要。

hash_init()

hash_init — 初始化增量雜湊運算情境

語法:
    hash_init($algo,$options = 0 , $key = null)
  • $algo:要使用的雜湊演算法名稱,例如:"md5","sha256","haval160,4" 等。如何取得支援的演算法清單,請參閱 hash_algos()。


  • $options:進行哈希運算的可選設置,目前僅支援一個選項:HASH_HMAC。指定此選項的時候,必須 指定 key 參數。

  • ###$key:當 options 參數為 HASH_HMAC 時, 使用此參數傳入進行 HMAC 雜湊運算時的共用金鑰。 ######

傳回值:傳回哈希運算上下文對象,以供 hash_update(), hash_update_stream(),hash_update_file(), 和 hash_final() 函數使用。

。 。 。 。

推薦學習:《PHP影片教學

以上是php中的hash方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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