Страница 1 из 1

Ошибка при проверке пароля

СообщениеДобавлено: 08 авг 2011, 08:31
Roman
Здравствуйте. Сменил на днях клавиатуру и заметил такой глюк. Если при вводе пароля в S-Market после самого пароля добавлять какие нибудь буквы или символы, то пароль всё равно подходит, скажим если пароль Wrtp а я введу Wrtpdpssdsdlksj то он всё равно подойдёт. Думаю это ошибка.

Re: Ошибка при проверке пароля

СообщениеДобавлено: 08 авг 2011, 10:34
VerLeon
В примере, приведенном Вами это не сработает, но в общем случае может сработать.
Пароли контролируются не нами, а СУБД FireBird/Interbase и есть некоторые особенности, связанные с организацией сохранения паролей в ней и применяемым в ней алгоритме шифрования паролей:
1. Часть пароля после первого пробела в нем игнорируется (как при сохранении, так и при коннекте). Т.е. заводить пароль "Это пароль" - можно, и по нему можно будет войти, но реальный пароль будет просто "Это" - и по нему тоже можно будет войти.
2. Максимальная длина пароля - 8 символов. Символы после 8-го игнорируются как при сохранении, так и при коннекте (в текущей версии SMAdmin задать пароль больше 8 символов невозможно). Т.е. при заданном пароле "Wrtpdpss" при логине можно вводить "WrtpdpssXXXXXXX" - проканает.
3. Теоретически алгоритм шифрования допускает коллизии - т.е. два разных набора символов дает одинаковый хеш и при задании одного в качестве пароля потом можно будет войти под другим. Но вероятность этого ничтожно мала и опять же Ваш пример не является примером коллизии.