PHP - Funzione Hash hkdf ()

Definizione e utilizzo

Il hash_hkdf() funzione restituisce la derivazione della chiave HKDF per la chiave di input specificata.

L'HKDF è una chiave semplice derivata utilizzando l'algoritmo HMAC come md5, sha256, una chiave di input e una chiave salt.

Sintassi

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

Parametri

Suor n Parametro e descrizione
1

algo

Nome dell'algoritmo di hashing. C'è una grande lista di algoritmi disponibili con hash, alcuni importanti sono md5, sha256, ecc.

Per ottenere l'elenco completo degli algoritmi supportati controlla hash_hmac_algos ()

2

ikm

Tasto di input.

3

length

La lunghezza desiderata in byte. La lunghezza non può essere maggiore di 255 volte la dimensione della funzione hash scelta.

Se la lunghezza è 0, la lunghezza corrisponderà alla dimensione della funzione hash scelta.

4

info

Stringa informativa specifica per applicazione / contesto.

5

salt

La chiave segreta del sale è necessaria per la derivazione. È facoltativo, ma l'uso del sale aggiungerà forza alla derivazione HDKF.

Valori restituiti

Il hash_hkdf() restituisce una stringa di dati binari grezzi e false se fallisce.

Versione PHP

Questa funzione funzionerà dalla versione PHP successiva alla 7.1.2.

Esempio 1

Utilizzando hash_hkdf () -

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

Produzione

Questo produrrà il seguente risultato:

E    X e B U \" ڨ  ՈWu

Esempio 2

Utilizzando hash_hkdf () con lunghezza 0 -

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

Produzione

Questo produrrà il seguente risultato:

8 hr x    5