Про криптостойкость паролей и отношение к ней некоторых крупных российских интернет-сервисов

    Так исторически сложилось, что долгое время у меня на почте стоял короткий и довольно простой пароль. И вот недавно я решил таки сменить его от греха подальше на хороший, криптостойкий. Придумал отличный пароль — 17 букв, всякие там заглавные, спецсимволы и пр.

    Сменил пароль к основному ящику — отлично. Пошёл менять пароль к старому ящику — и узрел прекрасное:



    Внимание, вопрос к представителям компании Mail.ru на Хабре:



    У вас что, место на серверах кончилось, пароли из 17 символов не влезают?
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 345

      +34
      Подключаюсь к вопросу, а также очень интересно по какой причине они ввели понятие «недопустимые символы» в пароле. Зачем? Чтоб брутфорсить было проще?
        +93
        Как зачем, а вдруг кто-нибудь кавычку поставит в пароли и похакает mail.ru как mysql.com
          0
          экранировать не судьба?
        • НЛО прилетело и опубликовало эту надпись здесь
          • НЛО прилетело и опубликовало эту надпись здесь
            • НЛО прилетело и опубликовало эту надпись здесь
              • НЛО прилетело и опубликовало эту надпись здесь
                  0
                  иногда брутят не конкретное мыло, а сразу список на пароль или пароли из словаря
            +9
            А ещё в мейле нельзя почему то ставить пароли с символами типа !%$@ =(
              –2
              Фиг с ними — русские символы нельзя!
                +5
                Смешно.
                  +1
                  Скорее «защита от дурака». Вот попробуете вы где-нить из инет-клуба в Голландии залогиниться со своей кириллицей
                    0
                    Блин, не увидел коммент ниже :(
                  +1
                  ИМХО использовать в паролях русские символы не есть гуд т.к. вот окажитесь вы где-нибудь заграницей и надо будет вам в местом интернет-кафе срочно почту проверить, а русской раскладки там не окажется… И что тогда?
                    +12
                      +3
                      Да это понятно, что выход всегда есть. Можно ещё набрать в поиске русский алфавит и скопипастить буковки от туда. Ну или с домашнего компа по RDP авторизоваться. Ну или ламануть админский пароль на компе и поставить русскую раскладку. Но чего ради такие заморочки?
                        –14
                        Ради того, что нерусские хакеры (включая всякие там ФБР) тебя не сломают.
                          +8
                          google: russian passwords list, не?
                      –1
                        –1
                        А чего так сложно-то? Публикуете на narod.ru, а потом copy-paste где надо.
                          +1
                          Можно выбрать химическое название на Вики :)

                          Например, ЦиклобутанТетраметиленC4H8 )))
                            0
                            Словарное слово.
                        0
                        Виртуальная клавиатура на яндексе, не? Или на другом сервисе…

                        P.S. Хотя тоже не использую русские символы в паролях и во многих других случаях, например именовании чего либо, но совсем по другой причине.
                          +2
                          Самый трушный способ — вводить коды символов ^^.
                            0
                            translate.ru+copy+past
                              +8
                              Я русские буквы в паролях не использую в первую очередь потому, что не могу быть уверен в том, что они правильно обработаются.
                                +3
                                Точно точно. Я так лет 6 назад аську потерял, сменил блин пароль :D
                              0
                              это фигня, на почта.рф наоборот, только русские и можно.
                              +9
                              Это говорит о том, что пароли хранятся открыто, а не хешами…
                                –1
                                С чего бы? :)
                                  +8
                                  А с чего делать ограничения? Хеш сделал от чего угодно и все.
                                    0
                                    Т. е. хранить пароли в открытом виде длиннее 17 символов опаснее, чем 16?

                                    А ограничения от того, что не проблема в создании хэша, а в том, что пароль вида 321 или abc даже ручным перебором подбирается очень быстро.

                                    Соль вопроса в том, что они ограничили максимальный размер пароля, а не минимальный.
                                      +1
                                      При чем тут это? Комментарий был к "!%$@ =("...)
                                        +3
                                        Если они хешируют пароли, то им совершенно всё-равно, пускай он будет хоть миллион символов, хоть пустой — это будет хеш в 32/40/64/etc символов. А если не хешируют, то сколько выделили места, столько выделили.
                                          +4
                                          Если они хешируют пароли, то им совершенно всё-равно, пускай он будет хоть миллион символов, хоть пустой
                                          Ну вы уж не утрируйте. Между подсчётом хэш-функции от трёхсимвольного пароля и 1млн-символьного всё же будет разница в процессорном времени.
                                          А вот подсчёт хэша от строки в 16 символов и от строки в 256 символов будет уже не так сильно отличаться (т.е. практически незаметно). Поэтому лимит можно было смело поставить в виде какого-то довольно большого но всё же разумного числа символов (64, 128, 256 ...).
                                            +4
                                            Согласен)
                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                0
                                                Даже у гиков есть предел.
                                                Уверен, что ни у кого из местных гиков пароли на интернет-сервисы не превышают 256 символов. Всем же нужен компромисс между надёжностью и эффективностью работы (скоростью ввода пароля при входе).
                                                  0
                                                  Сертификат считать паролем? ;)
                                      0
                                      В комментарии ниже ответил на это. Пароли, разумеется, хранятся в захешированном виде.
                                    +24
                                    Да, регулярно сталкиваюсь. И ведь если ввести при регистрации 17 символьный пароль — они его обрежут до 16 и ничего не скажут, а потом сиди, вспоминай… И ведь не сразу догадаешься, что пароль вводишь правильный, но надо вводить на символ меньше.
                                      +4
                                      В ICQ вроде бы максимум 8 знаков пароль был. Так там резали, все что больше, но и вспоминать ничего не надо. Можно полчаса долбить по клаве пароль, а оно скушало 8 знаков и довольно. Проблем не было.

                                      А конкретно на каких сайтах проблемы с «обрезанием»? :)
                                        0
                                        paperplaza.net
                                          +1
                                          В ICQ проблемы не было, а потом появилась, когда резать перестало.
                                            0
                                            Вот я молодец, справился с темным желанием. Хотел было уже свой сайт впихнуть — мол проблемы с обрезанием! Ощутил бы прелесть хабра-эффекта.
                                            Но вы тоже блин спросили — «А конкретно на каких сайтах...»
                                            Вдох — выдох!
                                            0
                                            Чего реально на мэйле так???
                                            Т. е. их верстальщикам и программистам параметр maxlength тега input не известен, что ли?
                                              +2
                                              Ну там и стоит maxlength! :)



                                              Другой вопрос, что это и вводит пользователей в заблуждение. Спасибо за замечание.
                                                +1
                                                Одна проблемка: когда вводишь пароль, видишь звездочки. И понятия не имеешь, что, вводя очередной символ после 16-го, ничего не вводится. На экране как было 8 звездочек, так и осталось (если в длину input`a, например, 8 звездочек влазит).
                                              +8
                                              У меня потихоньку собирается приличный такой списочек странных сервисов, которые ставят разные ограничения на пароли. Например, у linkedin — такое же ограничение — до 16 символов. А у pause.perl.org — так вообще — до 8…
                                                +34
                                                Это Вы еще, наверное, Приватбанком не пользовались. Я как-то менял там пароль битый час.

                                                Нигде не было написано про длинну пароля не более 12 (кажется) символов. Я вбивал свой длинный пароль + цифры в конце (Приватбанк требовал, чтобы в пароле были цифры). Т.к. на input`у гениальный программер поставил maxlength=12, мои цифры в конце отрубались и мне выдавалось сообщение: слишком мало цифр в пароле (сколько цифр надо — не сообщалось, при этом страница перезагружалась и пароль надо было вбивать заново).

                                                Я снова вбивал длинный пароль, добавляя все больше цифр в конце, и maxlength их снова обрубал :)

                                                Пока я не догадался включить в Файрбаге отображение пароля, бился головой об стену.

                                                И это в банке, где по идее должны заботиться о хороших и длинных паролях пользователей.
                                                  +34
                                                  В телебанке ВТБ «для моей безопасности» потребовали заменить пароль на цифровой
                                                    +17
                                                    Раньше, видимо, у них был аналоговый. :) Это вполне достойно ВТБ
                                                    +6
                                                    Хе. Бывает и хуже.
                                                    Регистрировал я как то ящик на Яндексе. Вбиваю длинный пароль, подтверждаю, все ОК — регистрация прошла успешно. Тут же пытаюсь войти в новый ящик — не пускает — не верный пароль! Еще раз — опять тот жен результат. Что бы видеть символы набрал в Блокноте, скопировал, вставил — опять неверный пароль. Уже думал восстанавливать пароль. Оказалось при превышении допустимого количества символов при регистрации пароль обрезается до нужного количества, а при авторизации пароль берется целиком.
                                                      +8
                                                      Это всё деццкий лепет, если вы никогда не пробовали настоять в банке, что желаете иметь пароль, заканчивающийся на пробел :P
                                                        +3
                                                        Прям смакую эту картину.
                                                          0
                                                          Вы бы еще в качестве кодового слова — фразу «кодовое слово» попросили бы :)
                                                            +10
                                                            В качестве кодового слова нужно указывать: «повторите», «что» или «не расслышал».
                                                            Это при голосовой аутентификации введёт оператора в бесконечный цикл.
                                                              0
                                                              было. приняли без проблем, банк КазКоммерц
                                                                0
                                                                А Вы потом проверили, что пароль без пробела и пароль с пробелом — это разные пароли?
                                                            0
                                                            Да что там обрезание!

                                                            Пользовался я сервисами, где при смене пароля из него молча удаляются некоторые спецсимволы (типа "&").
                                                          +11
                                                          Клиент банк Сбербанка пароль от 6-ти до 8-ми (!!!) символов. Обрезание молча!
                                                            +34
                                                            Обрезание молча! не дорого.
                                                              0
                                                              Где не обрежут — там откусят.
                                                            +10
                                                            Собинбанк. Онлайн-банк пароль 4(ЧЕТЫРЕ) символа, ЦИФРАМИ.
                                                              +12
                                                              Ох зря вы это здесь написали…
                                                                +2
                                                                Ох, какой же офигенный, оказывается, мой Альфа-клик. А я про него плохо так думал…
                                                                –1
                                                                Live.com от Microsoft —
                                                                  –1
                                                                  — до 16 символов, а вы про Mail.ru говорите…

                                                                  зы: черт! всё что после знака меньше отрезало! сиди теперь жди пока 5 минут пройдет!
                                                                +4
                                                                Видимо это профилактика, чтобы потом не появлялись топики из серрии — ФБР просит помощи в расшифровке сообщения 1999 года — либо они пароли шифруют алгоритмом, в котором не может быть больше 16 символов — других объяснений не видно.
                                                                  +2
                                                                  Вероятнее всего в момент разработки сделали ограничение в 16 символов, а потом не трогали.
                                                                  По поводу алгоритма. Пароли не шифруют, а обычно хранят лишь хэш. Но, возможно, вы правы. Так как я точно не знаю про поиск коллизий в том же md5, но вполне возможно, что ограничение длины в 16 символов как раз рубит все известные методы получения колизий.
                                                                    0
                                                                    А чем плохо, если они смогут найти коллизию? Наоборот, злоумышленник с меньшей вероятностью правильно восстановит мой исходный пароль по хэшу.
                                                                      +1
                                                                      А злоумышленнику и не надо исходный пароль получать, но зато (получив хэш вашего пароля) он сможет сгенерировать свой собственный пароль, который будет иметь такой же хэш. А значит этот пароль будет так же подходить к вашей учетной записи.
                                                                        0
                                                                        Это понятно, но я могу использовать один пароль для разных сайтов.
                                                                          +1
                                                                          Да, но только на этом конкретном сайте, а не на всех сайтах, где у меня используется тот же пароль.
                                                                            +1
                                                                            А в данном случае, злоумышленнику ничего не прийдется генерировать, ибо получит он не хеш, а 16-символьный пароль.
                                                                            +2
                                                                            А ему и не нужен будет ваш настоящий пароль, если у него есть коллизия.
                                                                            0
                                                                            в алгоритме md5 нет таких артефактов.
                                                                              +4
                                                                              Если вы под артефактами имеете ввиду коллизии, то в md5 они есть.
                                                                                +9
                                                                                В любом алгоритме хеширования есть вероятность коллизии, зависящая от его битности, лавинного эффекта (avalanche effect) и фактора расхождения набора хешируемых данных (fanout factor).

                                                                                Я говорю про артефакты, связанные с — цитирую — «ограничение длины в 16 символов».
                                                                                  0
                                                                                  Значит я неверно вас понял, спасибо за разъяснения.
                                                                              –3
                                                                              Если пароль солить, в md5 пойдёт не 16 символов.
                                                                                –1
                                                                                Хеш может и есть, но скорее всего пароли хранят заXORенными в спец поле CHAR(16) для дальнейшей передачи правоохренительным органам (слежение за почтой пользователя во время разыскных мероприятий).
                                                                            0
                                                                            Да в принципе совсем не понятно зачем такие ограничения, при том не только на этом вашем mail.ru :). Точнее, допустим, там где требовались символы только английской раскладки ясно было, почему так — кодировка, все дела (сейчас правда это устарело уже). То когда допускаются только буквы и цифры в пароле — это вообще что-то странное.
                                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                                                –1
                                                                                Возможно, они используют какой-то «банглагорский» обратимый алгоритм, который выдает тем длиннее хеш, чем длиннее введенный пароль :) У меня на работе в одном проекте такой «банглагорский» алгоритм унаследован от предыдущих разработчиков индусов :(
                                                                                  –12
                                                                                  Я смотрю, знания по русскому языку в области географии у вас у самого «банглагорские» =)
                                                                                    +3
                                                                                    Поздравляю, вы изобрели новое слово
                                                                                      0
                                                                                      спасибо, спасибо (кланяется) :)
                                                                                    +11
                                                                                    трафик экономят
                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                      –1
                                                                                      И давно md5 стал алгоритмом шифрования?
                                                                                      –5
                                                                                      С точки зрения разработчика было бы более нелогично использовать 17 в качестве ограничения по длине, двоичную систему счисления попробуй забудь :)
                                                                                      +4
                                                                                      Видимо, они считают, что их пользователи не в состоянии запомнить более длинный пароль, всё для пользователя!
                                                                                        +26
                                                                                        [irony]«К сожалению действительно на наших серверах закончилось место, так как мы выпустили кучу ненужных никому сервисов, игр, спутников, чатов, и всяких моих миров, поэтому на безопасность аккаунтов наших пользователей нам пока не хватает средств»[/irony]
                                                                                          +3
                                                                                          Вы хотели сказать — «нам никогда не хватало»? =) Вроде как такое ограничение там чуть ли не с самого начала.
                                                                                            –5
                                                                                            Только надо уточнить, что речь идет о безопасности 1% параноиков, так как >90% паролей меньше 8 символов.
                                                                                              +2
                                                                                              Куда дели оставшиеся 9% ???
                                                                                                0
                                                                                                Не параноики с длинными паролями. К тому же, написано про «>90%»
                                                                                              +1
                                                                                              сказал человек, который работает в «ФСБ РФ»
                                                                                              +1
                                                                                              В yandex тоже этим грешат, ну не могу я запомнить пароль без спецсимволов.
                                                                                                0
                                                                                                Как раз в Яндексе поменял без проблем.
                                                                                                  0
                                                                                                  ну не могу я запомнить пароль без спецсимволов.

                                                                                                  Спецсимволы стимулируют вашу память? :)
                                                                                                    +10
                                                                                                    воруй@убивай
                                                                                                    0
                                                                                                    У Яндекса со спецсимволами всё отлично. Другой вопрос, что ограничение на длину пароля там таки есть.
                                                                                                      +7
                                                                                                      image

                                                                                                      image

                                                                                                      продолжать?
                                                                                                        +6
                                                                                                        Вам этих символов мало?
                                                                                                          –8
                                                                                                          Спасибо, что опередили.
                                                                                                            +17
                                                                                                            Какие знакомые и разные шрифты на двух скринах )
                                                                                                              0
                                                                                                              1Password не спрашивает, какие символы можно генерировать. Недавно заводил N-ное количество учёток в Яндекс.Почте для домена, пришлось ручками заменять спецсимволы на допустимые.
                                                                                                          +1
                                                                                                          Теперь да, однако еще совсем недавно я не мог сменить пароль, так как в новом пароле присутствовала точка (на то время недопустимый символ). Хотя в другом профиле, который был заведен два года назад, точно такой же пароль работал. На мой запрос в тех. поддержку, мне кажется ответили, что на данный момент использование некоторых символов в пароле не доступно. Видимо они когда-то добавили точку в список недопустимых символов, а теперь ее оттуда убрали. И хорошо!
                                                                                                            +9
                                                                                                            То ли дело:image
                                                                                                              +1
                                                                                                              После пункта «Строчные и прописные пункты не различаются» дальше можно не читать.
                                                                                                          +8
                                                                                                          Никогда не понимал, зачем вообще ограничивать в чем-то. Почему кто-то должен решать, какой у меня будет пароль? Особенно с этим полный капец у Microsoft — им давай и цифры, и спец-символы и черт пойми что еще в пароль (насколько я помню свой опыт с LiveID). Вот просто любой пароль и все тут — «неее, не пойдет». Можно же советовать, но не навязывать (максимум, что можно — ограничить минимальную длину пароля, ну, допустим, 5 или 6 символами).
                                                                                                            +1
                                                                                                            У Apple'а когда-то можно было вводить простые пароли, а теперь тоже — подавай им буквы, цифры, и одну заглавную букву минимум
                                                                                                              +1
                                                                                                              Потому что когда что-нибудь случается, негодующий пользователь прибегает в первую очередь к хозяину ресурса и начинает требовать компенсаций и покаяний за украденный у него пароль. с тупыми пользователями так и надо — вводить их в жесткие рамки и даже не обсуждать это дело с ними.

                                                                                                              Большинство пользователей клиент-банков считает, что пароль 123 — это достаточная мера защиты. :)
                                                                                                              +1
                                                                                                              Хех, только вчера отправили жалобу в БПС-банк (Минск) на то, что 10 символов в пароле для банкинга — это не серьезно. Пока молчат.
                                                                                                                0
                                                                                                                Кстати, насколько знаю — Сбербанк их крупнейший акционер — потому тот же вопрос — WTF?
                                                                                                                  +7
                                                                                                                  У нас в национальном банке разрешен 1 символ… и на 80% карточек код — «1». Вот где надо искать «несерьезность» :)
                                                                                                                    +4
                                                                                                                    Данунах! Имя банка в студию — чтобы даже случайно не попасть туда.
                                                                                                                      0
                                                                                                                      Это не в России и не в Украине :). Так что можете не волноваться :)
                                                                                                                        +2
                                                                                                                        Ну судя по всему Вы из узбекистана… Угадал?
                                                                                                                    +12
                                                                                                                    Дайте мне название банка, и кажется я знаю, какой скрипт я буду писать следующим…
                                                                                                                      –4
                                                                                                                      За Вами уже выехали.
                                                                                                                      0
                                                                                                                      Не понял немного, под кодом понимается PIN или что-то для интернет-банкинга? Про CVV не спрашиваю, он всегда 3 цифры, у AmEx — 4, насколько я помню.
                                                                                                                      –2
                                                                                                                      4 цифры в PIN-коде от карточки — не смущают? %)
                                                                                                                        +11
                                                                                                                        Неа, карточка после третьей неудачно попытки ввода пин-кода блокируется.
                                                                                                                          –3
                                                                                                                          А почему вы решили, что у мэйл.ру нет такой же защиты от брутфорса в виде блокировки при нескольких неверных попытках ввода?
                                                                                                                            +4
                                                                                                                            Да мне как-то пофигу, есть она у них или нет.
                                                                                                                            Я просто твёрдо уверен, что никакой _технической_ причины не принимать пароли длиннее 16 символов у них нет. У разработчиков банковских карт она, очевидно, была.
                                                                                                                              0
                                                                                                                              Всё верно. К пин коду нужно еще физическую карту иметь, поэтому и защита условная.
                                                                                                                                +1
                                                                                                                                Я не защищаю mail.ru, я просто выступаю за логику в аргументах, безотносительно к конкретным объектам дискуссии.

                                                                                                                                Чтобы не было так:
                                                                                                                                — короткие пароли у mail.ru — это плохо!
                                                                                                                                — а короткие пароли для банковских карт?
                                                                                                                                — у банковских это нормально, ведь там вход блокируется при третьей неудачной попытке.
                                                                                                                                — а вы уверены, что у mail.ru не блокируется?
                                                                                                                                — ээээ… Мне пофигу.
                                                                                                                                  +3
                                                                                                                                  И все таки вы путаете. Если б в mail.ru вместо логина была бы карточка (или, скажем, USB ключ), то и пароль можно было бы ввести условный, хоть из 4 цифр.

                                                                                                                                  А блокировки логина у сайта (с логином) не может быть, по той причине, что каждый шутник сможет блокировать известные ему логины.
                                                                                                                                    –8
                                                                                                                                    Я ничего не путаю. Пересмотрите диалог выше ещё раз.
                                                                                                                                    Если бы мой оппонент в защиту коротких ПИНов у банковских карт привёл именно этот аргумент про носитель/карточку, тогда да.
                                                                                                                                    Но он же сослался только на защиту от брутфорса, которая якобы отличает карточки от почтового логина. Что нелогично.
                                                                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                                                        0
                                                                                                                                        Обычно нормальная защита от брутофорса работает хитрей — адаптивно. С одной стороны снижая возможности по перебору паролей, с другой — давая пользователю пару попыток.
                                                                                                                                        В любом случае, (a-Az-Z) 52^16 — это очень много комбинаций, 91 бит. С цифрами там будут еще больше, уже достигается значение числа вариантов для md5, «в котором» пароли, скорей всего, и хранятся.
                                                                                                                                  0
                                                                                                                                  Она есть, если что ;)
                                                                                                                                    +3
                                                                                                                                    Я могу брутить ваш пароль и заблокировать вас?:)
                                                                                                                                      +11
                                                                                                                                      Не можете. У меня нет ящика на mail.ru :)
                                                                                                                                    0
                                                                                                                                    1. В той же Италии (кстати) часто банками используется 6-и значный ПИНкод.

                                                                                                                                    2. ПИН не храниться на банковской карте (на магнитной полосе) ни в каком виде (хотя многие почему то до сих пор уверены в этом мифе). Соответственно его нельзя «прочесть» какими либо электронными устройствами. Однако есть так называемый «Алгоритм Луна»… )))

                                                                                                                                    3. Блокируется карта или нет (после энного количества неправильно ввеленного ПИНа) зависит прежде всего от настроек банка экваера (владельца банкомата). К сожалению (несмотря на требования МПСов) в некоторых странах мира не всё так радужно как хотелось бы (в плане безопасности). И это большая проблема.

                                                                                                                                    4. Есть ещё одна большая дыра в безопасности. К сожалению алгоритм проверки ПИН-кода (на банковских картах) неоднозначен. Существуют ещё 3 комбмнации четырехзначного ПИНа, которые будут восприняты как «Верно введенный ПИН-код». Соответственно делайте выводы… )))
                                                                                                                                      +2
                                                                                                                                      А можно пруфлинк про пункт 4? Интересно было бы почитать.
                                                                                                                                    0
                                                                                                                                    Смущают, но не так сильно — таки всего три попытки резко уменьшает шансы на успех.
                                                                                                                                    0
                                                                                                                                    попросите еще pin в 16 знаков и cvv в 12 :)
                                                                                                                                      0
                                                                                                                                      Киньте-ка сюда атрибуты своей карты без CVV, и мы попробуем посмотреть, через сколько времени вы заговорите о его длинне и криптоустойчивости…
                                                                                                                                        0
                                                                                                                                        У Авангадра есть хотя бы еще и карточка для интернет платежей :)

                                                                                                                                        там еще хотя бы 6 символов…
                                                                                                                                        буквы и цифры
                                                                                                                                    –4
                                                                                                                                    Всё до банальности просто — лень программистов, не более. Спец символы же экранировать надо и всё такое.
                                                                                                                                    Интересно, если уберут ограничение, символы после 16го будут учитываться?
                                                                                                                                    А вопрос порадовал :)
                                                                                                                                      +9
                                                                                                                                      $password = $_POST['password'];
                                                                                                                                      $hashed_password = md5($password. $salt);

                                                                                                                                      И экранировать ничего не надо.
                                                                                                                                        –24
                                                                                                                                        это на каком ЯП написано? ^_^
                                                                                                                                          –34
                                                                                                                                          если во второй строке заменить "." на ",", то будет PHP.
                                                                                                                                            +8
                                                                                                                                            Эээ, зачем?
                                                                                                                                              +3
                                                                                                                                              Зачем заменять? Конкатенация строк же.
                                                                                                                                              А если заменить — получится второй аргумент функции, который там в таком виде не нужен — судя по названию переменной.
                                                                                                                                                0
                                                                                                                                                точка в php — это конкатенация строк.
                                                                                                                                                  –1
                                                                                                                                                  PHP Там все правильно написано. Соль добавляется при генерации в качестве защиты от подбора, дабы создать уникальный для сайта хэш. Оператор "." в PHP это конкатенация строк.
                                                                                                                                                    +9
                                                                                                                                                    Раз никто еще не написал… "." — конкатенация строк
                                                                                                                                                    0
                                                                                                                                                    md5 в любом языке работает одинаково.
                                                                                                                                                      0
                                                                                                                                                      Вы, видимо, не работали с Питоном.
                                                                                                                                                        0
                                                                                                                                                        Вы правы, но разве в питоне нельзя захешировать любую строку без её подготовки?
                                                                                                                                                          0
                                                                                                                                                          Можно, только hashlib.md5 возвращает вовсе не строку, а hash-объект
                                                                                                                                                          docs.python.org/release/2.7/library/hashlib.html
                                                                                                                                                            0
                                                                                                                                                            Оу, ну судя по вашему ответу мы друг друга просто не понимаем. Я говорил не о результате работы md5, а о том, что подготавливать (экранировать и т. д.) строку перед хешированием ненужно, она и так станет безопасной для использования.

                                                                                                                                                            Прочтите ветку начиная с первого комментария.
                                                                                                                                                              +6
                                                                                                                                                              m = hashlib.md5("Hello, world!").hexdigest()
                                                                                                                                                      0
                                                                                                                                                      Чем тогда можно объяснить ограничение на спецсимволы?
                                                                                                                                                      +1
                                                                                                                                                      Они что их руками экранируют каждый раз, что им сложно?
                                                                                                                                                        0
                                                                                                                                                        ох, не хотел бы зарегистрироваться на сайте, где перед вычислением хеша мой пароль экранируют
                                                                                                                                                        0
                                                                                                                                                        Хаха… надо же :). Действительно странно — маловато. Но это еще ничего. На некоторых сервисах логин не может быть длиннее 8 символов. Вот это реально убойно :)
                                                                                                                                                        +2
                                                                                                                                                        А про ICQ? Там помойму вообще пароль должен быть РОВНО 8 символов (могу ошибаться что ровно, но точно не больше), причем они также не говорят об этом, а просто отклоняют длинные пароли!
                                                                                                                                                          +1
                                                                                                                                                          Во всех известных мне клиентах, длинные пароли не откланяются, а режутся до 8ми символов.
                                                                                                                                                          –24
                                                                                                                                                          Скорее всего, чем длинее пароль тем больше вероятность колизий. Иначе гвооря, чем длинее строка (пароль) тем вероятнее что найдеться другая строка у которой будет такойже хеш.
                                                                                                                                                            +13
                                                                                                                                                            Это где такие грибы продают, уважаемый?
                                                                                                                                                              –12
                                                                                                                                                                +3
                                                                                                                                                                Уважаемый, вы прежде чем ссылки кидать, прочитайте внимательно, что там написано, а не только заголовки.
                                                                                                                                                                Я не по-наслышке знаю, что такое коллизии хэшей, но в рамках именно парольной защиты с учетом современных архитектур авторизации вы несете откровенный бред. Извините.
                                                                                                                                                                  +8
                                                                                                                                                                  И где там написано, про зависимость количества коллизий от длины пароля?
                                                                                                                                                                    –3
                                                                                                                                                                    В строке с длиной 17 символов, есть n всевозможных комбинаций. В строке длиной более чем 17- n будет больше. Ограничивая длину строки 17- мя символами мы обрезаем возможные колизии которые будут попадаться в строках с длиной 17+.

                                                                                                                                                                    И, опятьже, я написал «скорее всего» это как 1 из возможных вариантов, а не твердо утверждал это.
                                                                                                                                                                      0
                                                                                                                                                                      Хочу навести на мысль: вот если у нас будет пароль также из 17ти символов, но мы запретим использовать латинскую букву 'a', коллизий будет больше или меньше? «Всевозможных комбинаций» будет меньше, следуя вашей логике и коллизий должно быть меньше. Или все таки зависит от хэш-функции?
                                                                                                                                                                        –1
                                                                                                                                                                        Не зная алгоритма «хэш-функции» ответить однозначно не могу. Опять же, а если влияет то увеличиться.
                                                                                                                                                                        Иначе зачем ограничение?
                                                                                                                                                                        Очень слабо вериться что в банковской сфере работают специалисты который просто так придумали бы это ограничение, наверное же, были какие то причины которые повлияли на это ограничение. Вот я и предположил что данное ограничение вызваное спецификой алгоритма хеширования.
                                                                                                                                                                      0
                                                                                                                                                                      комбинаций чего? почему n будет больше? про какой хеширующий алгоритм или класс хеширующих алгоритмов вы говорите?
                                                                                                                                                                        0
                                                                                                                                                                        Я не говорю про какой то конкретный алгоритм хеширования, а хотел сделать акцент на то что мы не знаем какой алгоритм там используют и возможно длина пароля на что то влияет. Чуть выше ответил
                                                                                                                                                                        Минусуют как троля, а вроде и не тролил…
                                                                                                                                                                        0
                                                                                                                                                                        Вот же ж блин. А вы понимаете, насколько с каждой буквой уменьшается и без того наноскопическая вероятность попасть в такую коллизию? Т.е., это настолько невероятно далеко от практики, что и сказать нечего.
                                                                                                                                                                  –6
                                                                                                                                                                  Мне кажется что для md5 вероятность того что, например, 30-символьная строка будет иметь коллизию с другой, в которой <30 символов практически нулевая. Тем более когда список символов ограничен (штук 60 всего).
                                                                                                                                                                    0
                                                                                                                                                                    Ну и что с того что вероятность коллизий увеличивается?
                                                                                                                                                                      0
                                                                                                                                                                      Наверное, это обратно пропорцеонально затраченому времени на подбор. Видь не объязательно подобрать именно Ваш пароль.
                                                                                                                                                                        –1
                                                                                                                                                                        ниже ответил
                                                                                                                                                                        0
                                                                                                                                                                        т.е. один пароль — один хэш. Полюс никто не знает длину конкретно вашего пароля.
                                                                                                                                                                        0
                                                                                                                                                                        И?..
                                                                                                                                                                          0
                                                                                                                                                                          Нет. Вот если мы рассматриваем множество ВСЕХ строк длины n из заданного алфавита из M букв, то да. Для n > bits*log_M(2) обязательно появятся коллизии. И начнут расти буквально в геометрической прогрессии. (для md5, например bits = 128).
                                                                                                                                                                          Но у нас есть грубо говоря фиксированное число юзеров, количество коллизий практически не изменится после того как мы разрешим им создавать сколь угодно длинные пароли
                                                                                                                                                                          +4
                                                                                                                                                                          Конечно, пароль из 17 символов будет брутфорситься на пару сотен лет дольше, чем из 16 )
                                                                                                                                                                          Серьёзно, зачем на веб-сервис ставить пароль больше 8 символов? Кроме сложности ввода это ничего не меняет же.
                                                                                                                                                                            +8
                                                                                                                                                                            Вот видимо и они так же как вы рассуждают. А между прочим люди часто используют мастер-пароли. Например для сайтов с важными данными выбирают один и тот же пароль (иногда с изменениями в паре букв для каждого сервиса). Если же разработчик ограничивает пользователя, то вероятность забыть пароль в этом случае равна 100%, т.к. пользователь вынужден нарушать свою же политику безопасности, а потом помнить, где он ее нарушил.
                                                                                                                                                                              –1
                                                                                                                                                                              На мой вопрос о пользе (с точки зрения безопасности) использования для веб-сервиса пароля длиннее 8 символов вы не ответили. Аутентификация с помощью пароля изначально не подразумевает использования дополнительных программных средств. Что касается политики безопасности, то её устанавливает именно администратор сервера, а не пользователь.
                                                                                                                                                                                +1
                                                                                                                                                                                Вы видимо вообще не слушали binariti.
                                                                                                                                                                                Могу по собственному опыту сказать: пароли из случайного набора букв длинной в 8 символов ломают! У меня так ломали пароль.
                                                                                                                                                                                Про дополнительные программные средства никто не говорит.
                                                                                                                                                                                Но другой вопрос, что у меня есть пароль, который я использую на ряде сайтов. Пароль достаточно сложный, содержит спецсимволы. Но сайт, мне говорит, что он слишком длинный, а еще ему спецсимволы не подходят, а давай ему цифры. А так же на одном сайте я столкнулся с тем, что он отказывался принимать символы в верхнем регистре! Нормально? Т. е. разработчики или администраторы ресурса меня ограничивают в том, какой пароль использовать (не говоря о не безопасности пароля), заставляют ставить иной пароль, который скорее всего я забуду.
                                                                                                                                                                                Могу сказать по опыту: если есть альтернатива такому ресурсу, то я уйду на другой ресурс, где меня так сильно по паролю не ограничивают.
                                                                                                                                                                                  0
                                                                                                                                                                                  Могу по собственному опыту сказать: пароли из случайного набора букв длинной в 8 символов ломают! У меня так ломали пароль.

                                                                                                                                                                                  268 ≈ 2·1011 вариантов? Это уже проблемы веб-сервиса, что они пропускают такие жёсткие попытки брутофорса.
                                                                                                                                                                                    0
                                                                                                                                                                                    Как вариант хэш пароля может быть украден.
                                                                                                                                                                                      0
                                                                                                                                                                                      Что тоже проблема веб-сервиса. Т.е. сложность пароля у пользователя тут влияет значительно слабей. Хотя, конечно, 12 более-менее произвольных символов дадут неподбираемое число вариантов, а 8-символьные из одних букв перебираются за пару часов даже на одном ядре.
                                                                                                                                                                                      У меня самый простой пароль, который я использую много где [a-z0-9]{8}, это ≈3·1012, и то, если такой аккаунт уведут, будет не жалко.
                                                                                                                                                                                        0
                                                                                                                                                                                        У меня самый простой пароль, который я использую много где [a-z0-9]{8}, это ≈3·1012
                                                                                                                                                                                        аналогично
                                                                                                                                                                                    0
                                                                                                                                                                                    Я тоже против ограничения диапазона допустимых символов. Но ещё я против излишне длинных паролей и ненужных программ для их запоминания.
                                                                                                                                                                                +1
                                                                                                                                                                                Rainbow Tables
                                                                                                                                                                                Меньше 12 символов уже давно не достаточно, даже для веб-сервисов. А сложность ввода одинаковая — пароли вводит какой-нибудь робот а-ля LastPass, он же их и генерирует.
                                                                                                                                                                                  0
                                                                                                                                                                                  Радужные таблицы работают только при хешировании без соли. Да и сами хеши ещё нужно получить.
                                                                                                                                                                                  С точки зрения сервера, пароли всегда вводятся пользователем. Обычно ручками, в крайнем случае вставляются из хранилища браузера. Всё остальное — решение несуществующей проблемы.
                                                                                                                                                                                –1
                                                                                                                                                                                Сами же пишут, что бы пользователи относились с максимальной бдительностью к паролю, делали сложные пароли. А сами не могут оргнизовать даже символы… Россия…
                                                                                                                                                                                  +1
                                                                                                                                                                                  Меня пару лет назад порадовала RealVnc (кроссплатформенная система для удаленного управления компьютером). Поставил, ввел относительно несложный, но длинный пароль, что-то вроде abc4436121234 для тестирования. Проверил, заходит, все ок. Через некоторое время случайно ввел просто abc и меня пустило, оно просто какого-то черт плюс к основному паролю игноририло цифры.
                                                                                                                                                                                    0
                                                                                                                                                                                    Протокол VNC вообще очень небезопасен. По спецификации данные передаются в открытом виде, блокировки в случае подбора вроде как тоже не имеется в серверном ПО (хотя, здесь могу ошибиться, все не использовал). Кошмар, короче говоря.
                                                                                                                                                                                    +1
                                                                                                                                                                                    На фоне всеобщего юзерства программеры забывают про хабросообщество которое надо визуально уведомлять не о слишком коротком, а о слишком длинном пароле )
                                                                                                                                                                                      0

                                                                                                                                                                                      И это крупный банк.
                                                                                                                                                                                        –1
                                                                                                                                                                                        Маразм с паролями в этом банке меня всегда поражал. А также радует, то, что очень часто время сессии для авторизации истекает до того, как придет SMS код.