Задать вопрос
@xrated

Хэширование (md5, sha2, whirlpool)?

Итак. Входные данные берутся из базы данных, записуються в row[]. Дальше идет расчет хєшей и тут возник вопрос. Почему из кода hash не равно hash1? Играет ли роль какого типа данные шифруются?

$whirlpool=$row['whirlpool'];
$sha2=$row['sha2'];
$hash1 = md5(md5($row['whirlpool']).md5($row['sha2'].'1'));
$hash = md5(md5($whirlpool).md5($sha2).'1');
  • Вопрос задан
  • 3266 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
papahoolio
@papahoolio
Потому что md5($row['sha2'].'1') и md5($sha2).'1' разные вещи.

Хеш-функция от разных строк даст разные хеш-суммы (ну кроме коллизий, но мы же не их ищем :)). В твоем случае последний md5 считается от разных строк. Почему? Ответ выше :)

Замени $hash = md5(md5($whirlpool).md5($sha2).'1');
на $hash = md5(md5($whirlpool).md5($sha2.'1')); и будет равенство.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы