@IsaevDev

Почему меняется значение sha256 после записи в базу?

Хэширую
$hash = hash( 'sha256', $newlogin . $newpass . $salt );


Пишу в базу
"INSERT INTO `admin` ( `login`, `passhash`  ) VALUES ( '$newlogin', '$hash' );"


В итоге в базу пишется:
7677e1189f8dc414d07512357e38f5d49355def281e3cdb7f9a67eb6c46455f3

А php при повторной проверке php в браузер выводит:
hash from db: 7677e1189f8dc414d07512357e38f5d49355def281e3cdb7f9a67eb6c46455f3
generated hash: ae87f97a6cbf8f2c3967fcc012195493cf42062e61ecc79ecc861eb2720acc49

Все происходит в utf-8. И php и база. Но, видимо, при записи в базу hash меняется

Где я накосячил?
  • Вопрос задан
  • 529 просмотров
Решения вопроса 1
@vilgeforce
Раздолбай и программист
Неправильно вы проверяете: нужно вывести сгенерированное значение, добавить его в базу и смотреть что в базу добавилось.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
SagePtr
@SagePtr
Еда - это святое
salt где хранится?
Ответ написан
sbh
@sbh
Можно более подробно как формируются строки:
hash from db:
generated hash:
?

Смотрите внимательно на generated hash:
Ответ написан
MetaDone
@MetaDone
Хорошо сформулированный вопрос - 50% решения
$salt случайно не генерируется рандомно? тогда сходится - у вас на каждую операцию новое значение
Ответ написан
@Galanit
Я люблю решать нестандартные задачи
может зашифровка и расшифровка идет?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы