Какая техника хеширования в php отличается от openssl_pbkdf2, hash_pbkdf2? - PullRequest
0 голосов
/ 28 июня 2019

Какой метод хеширования используется для хеширования слова 'sb @ 123', чтобы получить хеш $pbkdf2-sha512$25000$iTGGMAbg3FsLgdD6X8u59w$LXi2AGKllnsYpfyR0M0aQZTvF2EwhwEI4elKXehjNzy2ZL8Q.w.wceJiIq45PFAjb9QWHmzeQzr3GdZr83qjMA

openssl_pbkdf2
hash_pbkdf2

openssl_pbkdf2('sb@123', 'iTGGMAbg3FsLgdD6X8u59w, 64, 25000, 'sha512');
hash_pbkdf2("sha512", 'sb@123', 'iTGGMAbg3FsLgdD6X8u59w, 25000, 64);

1 Ответ

0 голосов
/ 29 июня 2019

Как показано в этом примере, обе эти функции будут выдавать один и тот же вывод с одинаковыми входами:

$salt = base64_decode("iTGGMAbg3FsLgdD6X8u59w");
$hash1_base64 = base64_encode(hash_pbkdf2("sha512", 'sb@123', $salt, 25000, 64, TRUE));
echo $hash1_base64 . "\n";

$hash2_base64 = base64_encode(openssl_pbkdf2('sb@123', $salt, 64, 25000, "sha512"));
echo $hash2_base64 . "\n";

производит вывод

LXi2AGKllnsYpfyR0M0aQZTvF2EwhwEI4elKXehjNzy2ZL8Q+w+wceJiIq45PFAjb9QWHmzeQzr3GdZr83qjMA==
LXi2AGKllnsYpfyR0M0aQZTvF2EwhwEI4elKXehjNzy2ZL8Q+w+wceJiIq45PFAjb9QWHmzeQzr3GdZr83qjMA==

соответствует выводу, который вы предоставили.

...