Доброго времени суток! Возник такой вопрос. Есть хэш (предположим такой "$2x$10$Ikc9h0LnFYHjL3FoFqDM3uZZzk/QXjtIWaZ.iVd2l725T0dOXtcAC"), есть соль ("Ikc9h0LnFYHjL3FoFqDM33") и есть дата (предположим, такая "2014-04-17 14:00:00"). Я хочу из этих данных получить еще один хэш... Код (Text): echo crypt('$2x$10$Ikc9h0LnFYHjL3FoFqDM3uZZzk/QXjtIWaZ.iVd2l725T0dOXtcAC|2014-04-17 14:00:00', '$2x$10$'.'Ikc9h0LnFYHjL3FoFqDM33'); Получаю вот это: $2x$10$Ikc9h0LnFYHjL3FoFqDM3uJncnUsRo7lJXDOLGq8bHVDotbneimjW Но вот загвоздка в том, что если я изменяю что-то из часов-минут-секунд, то хэш при этом остается неизменным. Такое ощущение, что строка обрезается после n символов... Когда то натыкался на статью, где что-то говорилось по этому поводу (там была вообщем-то не совсем такая ситуация, но мне бы она помогла), но это было так давно и сейчас я ничего найти не могу. Так вот, действительно ли хэшируемая строка обрезается или причина в другом?
Не, не получается... Тот же результат. После 72 символа почему-то строка не учитывается... Видимо и правда есть ограничение, хотя очень странно, сколько жил - думал, что не важно какую строку ты пытаешься захэшировать...
а пробывал новую функтию? в место crypt? https://github.com/Opentribes/Core/blob/develop/silex/Servi ... er.php#L16
Да, придется, походу как-то иначе хэш делать... Я Вы соль в базе не храните? Ну это я просто интересуюсь...
просмотри хаш, в нем сразу и соль $2x$10$Ikc9h0LnFYHjL3FoFqDM3uZZzk/QXjtIWaZ.iVd2l725T0dOXtcAC|2014-04-17 14:00:00
https://www.youtube.com/watch?v=T4NTdRvIrdk если хакерь получит соль то она ему не чиго не даст, соль для того штобы одинаковые пароли другой хаш имели. $10$ ета сумма главная, чем више тем лучще(но может тогда логин долше длитса)
мягкий знак на конце слов женского рода пишется. как "соль" хэш, хеш калька с английского обычно пишется как произносится на языке оригинала
дорогу осилит идущий Добавлено спустя 48 секунд: это оно само так работает, типа стандартное теперь поведение пхп. чтобы не думать. а то все думали, думали, а получалась фигня.
ранше Код (Text): $password = $_POST['password']; $salt = md5(time()); $hash = md5($password.$hash); $sql ="INSERT INTO users(hash,salt) VALUES($hash,$salt)"; сеичас Код (Text): $password = $_POST['password']; $options = array( 'cost'=>20 ); $hash = password_hash($password,PASSWORD_BCRYPT,$options); //все в одном и стоимость и соль и хеш $sql = "INSERT INTO users(hash) VALUES($hash)"
раньше все делали сами как умеют. теперь в пхп есть функция, которая даёт тебе строку, ты эту строку пишешь в бд и усё. внутри строки и алгоритм указан, и соль, и хеш и всё круто.