產生雜湊值 (訊息摘要)

hash

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

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

說明

hash(string $algo, string $data, bool $raw_output = false): string

參數

algo

要使用的雜湊演算法,例如:"md5","sha256","haval160,4" 等。 在 hash_algos() 中檢視支援的演算法。

data

要進行雜湊運算的訊息。

raw_output

設定為 true 輸出原始二進制數據, 設定為 false 輸出小寫 16 進位制字串。

返回值

如果 raw_output 設定為 true, 則返回原始二進制數據表示的資訊摘要, 否則返回 16 進位制小寫字串格式表示的資訊摘要。

範例

示例 #1 一個 hash() 例程

<?php
echo hash('ripemd160''The quick brown fox jumped over the lazy dog.');
?>

以上例程會輸出:

ec457d0a974c48d5685a7efa03d137dc8bbde7e3

示例 #2 使用 PHP 5.4 或者更高版本計算 tiger 雜湊值

<?php
function old_tiger($data ""$width=192$rounds 3) {
    return 
substr(
        
implode(
            
array_map(
                function (
$h) {
                    return 
str_pad(bin2hex(strrev($h)), 16"0");
                },
                
str_split(hash("tiger192,$rounds"$datatrue), 8)
            )
        ),
        
048-(192-$width)/4
    
);
}
echo 
hash('tiger192,3''a-string'), PHP_EOL;
echo 
old_tiger('a-string'), PHP_EOL;
?>

以上例程在 PHP 5.3 中的輸出:

146a7492719b3564094efe7abbd40a7416fd900179d02773
64359b7192746a14740ad4bb7afe4e097327d0790190fd16

以上例程在 PHP 5.4 中的輸出:

64359b7192746a14740ad4bb7afe4e097327d0790190fd16
146a7492719b3564094efe7abbd40a7416fd900179d02773

參見

  • hash_file() - 給指定檔案的內容產生雜湊值
  • hash_hmac() - 使用 HMAC 方法產生帶有金鑰的雜湊值
  • hash_init() - 初始化增量雜湊運算上下文
  • md5() - 計算字串的 MD5 雜湊值
  • sha1() - 計算字串的 sha1 雜湊值

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *