Loading...
Обучение/Помощь новичкам | Как правильно сравнивать хэш
Как правильно сравнить хэш md5, функцией hash_equals или == ?
php
hash_equals(md5($b), $v['v'])

php
md5($b) == $v['v']

________
посл. ред. 11.09.2023 в 10:17; всего 3 раз(а); by SNEG
php
hash_equals(md5($b), $v['v'])


Этот код
Ramzesoff , что за атака по времени? Никак понять не могу .suicide.
SNEG (10 сен 2023, в 17:47)
Ramzesoff , что за атака по времени? Никак понять не могу .suicide.
https://www.php.net/manual/ru/function.hash-equals.php

Сравнивает две строки на идентичность, используя одинаковое время, вне зависимости, равны они или нет.

Эта функция может использоваться для предотвращения атак по времени; к примеру при проверке хешей паролей с помощью crypt().
________
посл. ред. 10.09.2023 в 17:49; всего 1 раз(а); by Ramzesoff
Ramzesoff (10 сен 2023, в 17:48)
https://www.php.net/manual/ru/function.hash-equals.php

Сравнивает две строки на идентичность, используя одинаковое время, вне зависимости, равны они или нет.

Эта функция может использоваться для предотвращения атак по времени; к примеру при проверке хешей паролей с помощью crypt().
одинаковое время, т.е ещё проверяет время сколько понадобилось на генерацию ?
________
посл. ред. 10.09.2023 в 17:51; всего 1 раз(а); by SNEG
SNEG (10 сен 2023, в 17:51)
одинаковое время, т.е ещё проверяет время сколько понадобилось на генерацию ?
типа того. Но солью.
Ramzesoff , всё равно не понял как , может быть когда нибудь разберусь, главное что правильно себе написал)))
SNEG (10 сен 2023, в 17:54)
Ramzesoff , всё равно не понял как , может быть когда нибудь разберусь, главное что правильно себе написал)))
<?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));
var_dump(hash_equals($expected, $incorrect));
?>

Тест кода, что делает hash_equals с crypt'ом на локальном сервере.
Ramzesoff (10 сен 2023, в 17:59)
<?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));
var_dump(hash_equals($expected, $incorrect));
?>

Тест кода, что делает hash_equals с crypt'ом на локальном сервере.
Понятное дело вернёт что false 12345 и apple у них разные хэши , я думаю в любом случае будет если сравнивать 12345 === apple будет false
SNEG (10 сен 2023, в 17:30)
Как правильно сравнить хэш md5, функцией hash_equals или == ?
php
hash_equals(md5($b), $v['v'])

php
md5($b) == $v['v']
во-первых я не понял почему ты меня из друзей удалил, а во-вторых md5 выдаёт константную строку, которую можно проверить с помощью оператора ==
Онлайн: 3
Время:
Gen. 0.1616
(c) Bym.Guru 2010-2025