hash_equals
hash_equals — Сравнивает хеш-строки с защитой от атаки по времени для php < 5.6
Описание
bool hash_equals( string $a , string $b )
Сравнивает две строки за одинаковое количество времени, не зависимо от того равны они или нет. Эта функция есть в PHP начиная с версии 5.6, для версий ниже одноименная функция внесена в utils.php.
Список параметров
a
- Строка с сохраненным хешем пароля
b
- Строка с хешем введенного пароля
Примеры
Пример 1
<?php
$expected = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$correct = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$incorrect = crypt('apple', '$2a$07$usesomesillystringforsalt$');
var_dump(hash_equals($expected, $correct)); // bool(true)
var_dump(hash_equals($expected, $incorrect)); // bool(false)
?>