PHP - Función Hash hkdf ()

Definición y uso

los hash_hkdf() La función devuelve la derivación de clave HKDF para la clave de entrada dada.

El HKDF es una clave simple que se deriva mediante el algoritmo HMAC como md5, sha256, una clave de entrada y una clave salt.

Sintaxis

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

Parámetros

No Señor Descripción de parámetros
1

algo

Nombre del algoritmo hash. Hay una gran lista de algoritmos disponibles con hash, algunos importantes son md5, sha256, etc.

Para obtener la lista completa de algoritmos compatibles, compruebe hash_hmac_algos ()

2

ikm

Entrada clave.

3

length

La longitud que desea en bytes. La longitud no puede ser superior a 255 veces el tamaño de la función hash elegida.

Si la longitud es 0, entonces la longitud será según el tamaño de la función hash elegida.

4

info

Cadena de información específica de la aplicación / contexto.

5

salt

La clave secreta de sal es necesaria para la derivación. Es opcional, pero el uso de sal agregará fuerza a la derivación de HDKF.

Valores devueltos

los hash_hkdf() La función devuelve una cadena de datos binarios sin procesar y falsa si falla.

Versión PHP

Esta función funcionará desde la versión PHP superior a la 7.1.2.

Ejemplo 1

Usando hash_hkdf () -

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

Salida

Esto producirá el siguiente resultado:

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

Ejemplo 2

Usando hash_hkdf () con longitud 0 -

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

Salida

Esto producirá el siguiente resultado:

8�hrx����5�����