PHP - Función mhash_keygen_s2k ()

La función mhash_keygen_s2k () puede generar una clave de derivación para una contraseña determinada de acuerdo con ciertos MHASH.

Sintaxis

string mhash_keygen_s2k( int $hash , string $password , string $salt , int $bytes )

La función mhash_keygen_s2k () puede generar una clave de acuerdo con el hash dado usando la contraseña proporcionada por el usuario. Este es el algoritmo Salted S2K especificado en el documento OpenPGP.

La función mhash_keygen_s2k () puede devolver la clave generada como una cadena, o falsa en caso de error.

Ejemplo 1

<?php
   $hash03 = MHASH_SHA256;

   $passw = "kda553nh4";
   $salt = "35t4akiiih";
   $byts = 32;

   $resultr03 = mhash_keygen_s2k($hash03, $passw, $salt, $byts);
   $chrr03 = strlen($resultr03);

   $resulth03 = bin2hex($resultr03);
   $chrh03 = strlen($resulth03);

   echo $resultr03 . "<br><br>" . $chrr03 . " characters<br><br>"  . $resulth03 . "<br>" . $chrh03 . " characters";
?>

Salida

G�.p��8_��[� �G�X�<?�5j���U6<br><br>32 characters<br><br>47a42e709e97381f5f0e97fa5be91520c347a958fc3c3fc8356ab319fc9e5536<br>64 characters

Ejemplo 2

<?php
   $hash04 = MHASH_SHA256;

   $passw = "kdap455W07D";
   $salt = openssl_random_pseudo_bytes(32);

   $byts = 32;
   $result04 = mhash_keygen_s2k($hash04, $passw, $salt, $byts);

   echo $result04 . "<br><br>" . bin2hex($result04);
?>

Salida

\Xf)UJ���6� "�����O�fB]���<br><br>185c58662915554accc7d336960022d8d2cfc2f74f9b1e6642195dedce92afc9