A função mhash_keygen_s2k () pode gerar uma chave de derivação para uma dada senha de acordo com certos MHASH.
Sintaxe
string mhash_keygen_s2k( int $hash , string $password , string $salt , int $bytes )
A função mhash_keygen_s2k () pode gerar uma chave de acordo com o hash fornecido usando a senha fornecida pelo usuário. Este é o algoritmo Salted S2K especificado no documento OpenPGP.
A função mhash_keygen_s2k () pode retornar a chave gerada como uma string ou false em caso de erro.
Exemplo 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";
?>
Resultado
G .p 8 _ [ G X <? 5j U6<br><br>32 characters<br><br>47a42e709e97381f5f0e97fa5be91520c347a958fc3c3fc8356ab319fc9e5536<br>64 characters
Exemplo 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);
?>
Resultado
\Xf) UJ 6 " O fB ] Β <br><br>185c58662915554accc7d336960022d8d2cfc2f74f9b1e6642195dedce92afc9