PHP - hkdf() 雜湊函式



定義和用法

hash_hkdf() 函式返回給定輸入金鑰的 HKDF 金鑰派生。

HKDF 是一個簡單的金鑰,它使用像 md5、sha256 這樣的 HMAC 演算法、輸入金鑰和鹽金鑰來派生。

語法

hash_hkdf ( string $algo , string $ikm [, int $length = 0 [, string $info = '' [, string $salt = '' ]]] ) : string

引數

序號 引數 & 說明
1

algo

雜湊演算法的名稱。hash 提供了大量的演算法,一些重要的演算法包括 md5、sha256 等。

要獲取支援的完整演算法列表,請檢視 hash_hmac_algos()

2

ikm

輸入金鑰。

3

length

您想要的長度(以位元組為單位)。長度不能大於所選雜湊函式大小的 255 倍。

如果長度為 0,則長度將根據所選雜湊函式的大小確定。

4

info

應用程式/上下文相關的 info 字串。

5

salt

派生需要鹽金鑰。它是可選的,但使用鹽會增強 HDKF 派生的強度。

返回值

hash_hkdf() 函式返回原始二進位制資料的字串,如果失敗則返回 false。

PHP 版本

此函式適用於 PHP 7.1.2 或更高版本。

示例 1

使用 hash_hkdf() −

<?php
   $inputKey = random_bytes(32);
   $salt = 'testingkey';
   $HKFD_derivation = hash_hkdf('md5', $inputKey, 32, 'aes-256-encryption', $salt);
   echo $HKFD_derivation;
?>

輸出

這將產生以下結果:

����E���X�eBU�\"�ڨ��ՈWu��

示例 2

使用長度為 0 的 hash_hkdf() −

<?php
   $inputKey = random_bytes(32);
   $salt = 'testingkey';
   $HKFD_derivation = hash_hkdf('md5', $inputKey, 0, 'aes-256-encryption', $salt);
   echo $HKFD_derivation;
?>

輸出

這將產生以下結果:

8�hrx����5�����
php_function_reference.htm
廣告