crypt () использует любую базовую хеш-функцию, которую использует ОС, поэтому, если вы хотите получить надежные (постоянные) результаты, вы можете использовать одну из других хеш-функций, таких как md5 () или sha256 (), sha512 () .
Если вы хотите, чтобы crypt () использовала определенную функцию хеширования, вы должны соответственно указать параметр хеширования и проверитьесли алгоритм поддерживается на хосте ОС.Например (взято с PHP Manual страницы crypt () ):
if (CRYPT_STD_DES == 1) {
echo 'Standard DES: ' . crypt('rasmuslerdorf', 'rl') . "\n";
}
Но это очень зависит от ОС, поэтому я рекомендую использовать автономную хеш-функцию.Или hash () .
Append:
С hash () вы сначала использовали бы hash_algos () для проверкикакой хеш - лучший поддерживаемый хеш, а затем используйте его в качестве первого аргумента, например:
<?php
$algos = hash_algos();
if (in_array("sha256", $algos)) {
$pass = hash ("sha256", "userpassword" . "salt");
}
?>
Надеюсь, это поможет.