Почему не корректно работает функция crypt?

так получилось что достался проект, там пароль кодируется через функцию crypt. Простестировав нашел баг, если это можно так считать.
$salt = substr('test123', 0, 2);

        echo (crypt('testtest123', $salt)).'<br>';
        echo (crypt('testtest', $salt)).'<br>';
        echo (crypt('testtest1', $salt)).'<br>';

у всех троих результат один, то есть если кто то введет пароль testtest или testtest1 у определенного пользователя с паролем testtest123, то он без проблем авторизуется. Это функция криво работает или как?
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
Ivanq
@Ivanq
Знаю php, js, html, css
По умолчанию используется алгоритм DES, то есть обрабатываются только первые 8 символов, а они одинаковые.

https://stackoverflow.com/questions/20875703/why-i...

Вместо этого можно использовать соль вида $6$сольиз16символов ($6$ - SHA512).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
ATSAL Москва
До 20 000 руб.
Zaymigo Нижний Новгород
от 20 000 до 100 000 руб.
23 июля 2018, в 20:01
3000 руб./за проект
23 июля 2018, в 19:52
10000 руб./за проект