Помощь
Пароль должен содержать буквы разных регистров — как его придумать и создать?
При регистрации на сайтах от пользователей зачастую требуют придумать такой пароль, который бы содержал в себе буквы разных регистров (т.е. не только строчных, но и прописных). Для чего это нужно? Каким должен быть пароль, отвечающий современным требованиям безопасности работы в сети, и как его создать? Ответим на эти вопросы.
Зачем в пароле буквы разных регистров?
Компьютерные программы или даже целые операционные системы относятся к буквам по-разному. Например, в Windows в одной и той же папке нельзя хранить файлы (или другие папки) с одинаковыми именами, независимо от того, как они написаны — большими (в верхнем регистре), маленькими (в нижнем регистре) или и большими, и маленькими буквами любого алфавита. К примеру, рядом с файлом «Документ.doc» нельзя создать файл «документ.doc» или «ДОКУМЕНТ.DOC» — системой оба названия являются одинаковыми. А вот в Linux и основанных на ней операционных системах (к примеру, Ubuntu) в одну и ту же папку можно разместить файлы/папки с одинаковыми именами, если в них используются буквы разных регистров. Т.е. для Linux файлы «документ.doc» и «ДОКУМЕНТ.DOC» являются совершенно разными.
Примерно то же самое можно сказать и о паролях. Каждый символ в пароле имеет свой уникальный код. И код этот отличается для большой буквы «А» и для строчной «а». И благодаря этому, как минимум, вдвое увеличивается устойчивость парольной фразы к взлому методом перебора, т.е. к брутфорс-атакам либо атакам по словарю.
Для справки — брутфорс-атака предполагает поочередный перебор всех возможных символов, из которых может быть создан пароль. Если бы защищенная паролем веб-система (файл, программа, сайт и т.д.) одинаково воспринимала бы и большие и маленькие буквы, тогда список возможных символов для перебора сократился бы на 26 единиц (при использовании в пароле английских букв). Кажется, что это немного. Но если пароль состоит из 10 знаков, то в сумме эти 26 больших букв создают дополнительные варианты написания парольной фразы. А чем больше вариантов, тем сложнее пароль взломать.
Какой пароль может считаться надежным?
Исходя из вышесказанного, пароль, в котором присутствуют и большие, и маленькие буквы — однозначно, в разы надежнее парольной фразы, состоящей из буквы только в верхнем или только в нижнем регистре. Однако наличие обоих разновидностей букв не делают пароль отвечающим современным требованиям кибербезопасности. Он также должен:
- Содержать, как минимум, 8 (лучше 12-14) знаков.
- Содержать цифры и, если это позволяет форма регистрации, спецсимволы. Например, скобки, математические знаки, знаки препинания, буквы иностранных алфавитов (вплоть до иероглифов) и т.п.
Существуют и другие требования к создаваемым паролям, но приведенные выше — такие, которыми нельзя пренебрегать.
Как создать сложный пароль?
Создать пароль с маленькими и большими буквами можно вручную (вот подробная инструкция) либо при использовании специализированных на этом программ — генераторов сложных паролей. При самостоятельном создании сложного пароля можно, например, использовать такой простой способ:
- Напечатайте несколько английских или русских слов, переключив клавиатуру в английскую раскладку. Для примера это будут слова — «eto moy parol».
- Некоторые из букв переведите в верхний регистр, чтобы получилось что-то вроде — «eTO moY PaRol».
- Теперь вместо пробелов (можно еще и в начале или в конце), вставьте цифры, а лучше двух или трехзначные числа (можно дату какую-нибудь вставить) — «eTO18moY12PaRol1989».
- Если система, в которой осуществляется регистрация, позволяет использовать спецсимволы, не будет лишним использовать и их — «%eTO18$moY12$PaRol1989%».
В нашем случае получился довольно длинный пароль, состоящий из 23 знаков. Если система не позволяет использовать такие длинные парольные фразы, просто удалите некоторые символы.
Гораздо проще создавать надежные пароли, используя для этого генераторы — утилиты для компьютера или скрипты, размещаемые на различных сайтах. Также можно использовать систему хранения паролей MultiPassword , в которую встроен генератор надежных паролей.
В качестве другого примера рассмотрим сервис AZPassword , который предлагает сразу три способа создания сложных паролей:
1. Генерация пароля (или одновременно нескольких — вплоть до 50 штук) по параметрам. Просто задаем желаемую длину (до 30 знаков), затем указываем программе, какие символы использовать в пароле — цифры, спецсимволы, русские/английские буквы в верхнем/нижнем регистре:

2. Создание пароля на основе введенной фразы, закодированной посредством алгоритма шифрования Base64. Довольно интересная функция. Нам нужно ввести в соответствующее поле программы любую фразу (можно даже любые символы, доступные на клавиатуре), после чего утилита, используя алгоритм Base64, сгенерирует надежный пароль.

3. Создание пароля путем кодирования введенной фразы алгоритмом ROT47. Функция, аналогичная предыдущей, но в результате шифрования в парольной фразе будут присутствовать спецсимволы.

Заметим, что шифрование одной и то же фразы алгоритмами Base64 и ROT47 всегда приводит к одному и тому же результату, независимо от того, выполняется ли кодирование в программе AZPassword или где-либо еще (например, на каком-нибудь сайте). Эта особенность метода позволяет быстро генерировать пароль непосредственно перед его вводом в форму авторизации на сайте, в компьютерной системе и т.д. Достаточно лишь точно вписать фразу (последовательность символов), на основе которой был изначально сгенерирован пароль.
Для надежного хранения паролей рекомендуем использовать систему MultiPassword :
- Современные технологии защиты (AES-256, RSA, PBKDF2, HKDF).
- Оконечное шифрование данных.
- Двойная защита паролей и другие технологии защиты паролей.
Похожие статьи
- Как узнать ID учетной записи в MultiPassword?
- Как перенести пароли из 1Password в MultiPassword?
- Автоблокировка MultiPassword
- Активация расширения MultiPassword
- Двухфакторная аутентификация (2FA)
Как придумать надежный пароль
Пароль должен быть сложным, для этого необходимо следовать следующим правилам:
- Пароль должен состоять из восьми или более символов латинского алфавита, содержать заглавные и строчные буквы, цифры. Для усложнения рекомендуем добавить символы и знаки препинания ! @ $ % ^ & * ( ) _ — +
- Нельзя использовать предыдущие пароли.
- Пароль не должен совпадать с логином, именем, датой рождения или фамилией пользователя.
- Избегайте паролей, придуманных на основе словарного слова или состоящих из простых последовательных комбинаций цифр или букв (77777777, 12345678, qwertyuiop и так далее).
- При создании пароля обращайте внимание на подсказку системы. Если пароль слишком простой, система оповестит об этом.
«Цифровая гигиена» при использовании паролей:
- Пароль нельзя никому сообщать.
- Регулярно меняйте пароль. Чем чаще, тем лучше.
- Не используйте один и тот же пароль на разных сервисах.
- Не используйте функцию «Запомнить меня», если вашим компьютером пользуется кто-нибудь еще или вы входите с общественного компьютера.
- После окончания работы на общественном компьютере выходите из всех своих аккаунтов, а также завершите свою рабочую сессию на Рамблере с помощью кнопки «Выйти». Если вы просто закроете страницу браузера, то следующий пользователь компьютера откроет вашу почту без пароля!
- Регулярно обновляйте браузер до последней версии.
- Не открывайте ссылки из подозрительных писем или текстовых сообщений. Проверяйте, с какого адреса вам пришло письмо или на какой адрес ведет ссылка из сообщения. Никогда не размещайте личную информацию на сайтах, которые вызывают у вас подозрения. Узнайте больше о том, как выявлять попытки фишинга.
- Будьте готовы к ситуации, когда кто-то может получить ваш пароль. Необходимо привязать дополнительный адрес электронной почты, номер телефона и придумать контрольный вопрос и ответ для восстановления Рамблер/почты.
- Будьте внимательны, если вас попросят сменить пароль и пришлют для этого ссылку. Если вы не запрашивали смену пароля, игнорируйте такое сообщение.
- Если вам трудно запомнить все свои пароли, узнайте в интернете о менеджерах паролей — эти программы позволят вам безопасно хранить ваши реквизиты от разных сервисов.
- Все сайты Rambler Group защищены SSL-сертификатами для обеспечения вашей конфиденциальности. Пожалуйста, убедитесь, что адрес страницы, на которой вы вводите пароль, начинается с https или содержит значок замка слева от адреса.
Пароль должен содержать не менее 1 прописных ой букв ы как понять
СИНТАКСИС
длина пароля” eachCharacterOccurenceMax=”макс. количество вхождений”>
тип группы 1” customCharacters=”кастомные символы группы 1”/>
…
тип группы N” customCharacters=”кастомные символы группы N”/>
мин. количество вхождений из группы 1”>
…
мин. количество вхождений из группы N”>
ПАРАМЕТРЫ
Структура задает ограничения и определяет требования к качеству генерируемых паролей для ESSO-приложений.
Атрибуты
length
Длина генерируемого пароля в символах.
Если также заданы требования вхождения символов (структура ), параметр определяет минимальную длину пароля. В этом случае при генерации пароля сначала выполняются требования вхождения символов. Если после выполнения требований вхождения длина сгенерированного пароля окажется больше заданной, пароль будет иметь длину, соответствующую выполненным требованиям вхождения (т.е. пароль не будет обрезан).
Опциональный параметр. Значение по умолчанию: 0
eachCharacterOccurenceMax
Максимальное количество вхождений каждого символа (независимо от того, в какую группу символов он входит) в сгенерированный пароль.
Опциональный параметр. Значение по умолчанию: 0
Приведенное описание обозначает, что сгенерированный пароль будет содержать не более двух одинаковых символов (независимо от того, в какую группу символов они входят).
Структура задает множество допустимых символов для генерации пароля.
Опциональный параметр. Значение по умолчанию: пусто. В этом случае при генерации пароля выполняются следующие условия:
- пароль содержит символы из следующих групп:
— цифры (0. 9);
— латинские строчные буквы (a. z);
— латинские прописные буквы (A. Z);
— специальные символы (`~!@#$%^&*()_-+=<>[]\|:;»‘<>. /,пробел);
- количество вхождений символов в пароль определяется структурой .
Структура описывает допустимые группы символов, которые могут входить в состав пароля при генерации.
Атрибуты
type
Тип группы допустимых символов.
Возможные значения:
cgtCustom пользовательская группа символов (группа символов, определяемая пользователем)
cgtLatins латинские буквы (A. Z, a…z)
cgtLatinsLower латинские строчные буквы (a…z)
cgtLatinsUpper латинские прописные буквы (A. Z)
cgtDigits цифры (0…9)
cgtSpecial неалфавитные символы (` ~ ! @ # $ % ^ & * ( ) _ — + = < >[ ] \ | : ; » ‘<> , . ? /, пробел и др.)
cgtAcceptableByDefault латинские буквы (A. Z, a…z), цифры (0…9), специальные символы (` ~ ! @ # $ % ^ & * ( ) _ — + = < >[ ] \ | : ; » ‘<> , . ? /, пробел и др.)
Значение по умолчанию (если не задано ни одной группы допустимых символов): cgtAcceptableByDefault.
customCharacters
Множество символов пользовательской группы.
Опциональный параметр. Значение по умолчанию: пусто.
Задание атрибута имеет смысл только для пользовательской группы символов, т.е. только в том случае, когда атрибутtype имеет значение cgtCustom:
Если тип группы отличается от cgtCustom, значение атрибута при обработке шаблона не учитывается.
Значение атрибута задается в виде строки, в которой перечислены все символы, входящие в пользовательскую группу, при этом необходимо соблюдать следующие правила перечисления пользовательских символов:
- для задания специальных символов используются сущности, определенные в формате XML, а именно:
Приведенное описание определяет пользовательскую группу со следующим множеством символов: ,.<>/?[]<>=+-_!@#$%^&*() «
Стуктура задает требования вхождения символов в пароль.
Опциональный параметр. Значение по умолчанию: пусто. В этом случае при генерации пароля выполняются следующие условия:
- длина генерируемого пароля определяется значением атрибута length тега ;
- если задано множество допустимых символов для генерации пароля (т.е. описана структура ), пароль содержит символы из заданного множества, при этом количество вхождений символов из каждой группы определяется случайным образом.
Структура задает требования вхождения в пароль символов заданной группы.
Если для допустимой группы символов требования вхождения в пароль не определены, количество вхождений для символов этой группы определяется случайным образом с учетом заданных требований вхождений для других допустимых групп символов.
Атрибуты
anyCharacterOccurenceMin
Минимальное число вхождений символов из заданной группы в генеририуемый пароль.
Приведенное описание обозначает, что сгенерированный пароль должен содержать не менее трех латинских строчных букв.
ПРИМЕРЫ
Пример 1
- определение групп допустимых символов для генерации пароля (в том числе определение пользовательской группы символов);
- описание требований вхождения символов в пароль;
- определение количества вхождений символов заданной группы в пароль.
Пароль в ESSO-приложении должен удовлетворять следующим требованиям:
- пароль должен состоять не менее чем из 10 символов;
- пароль может содержать не более двух одинаковых символов;
- в пароле должны присутствовать символы хотя бы трех групп из числа следующих четырех:
— прописные буквы английского алфавита от A до Z;
— строчные буквы английского алфавита от a до z;
— десятичные цифры (от 0 до 9);
— неалфавитные символы (например, !, $, #, %).
Описание ограничений генерируемых паролей:
Сгенерированные пароли будут:
- состоять из 10 символов;
- содержать по 2 или более символа каждой из групп: прописные буквы английского алфавита, строчные буквы английского алфавита, цифры;
- содержать от 0 до 4 неалфавитных символов;
- содержать не более двух одинаковых символов.
Например: g3)rAd5yDC, rzvrS9D7NE, 4i+Xh)xDh4
Посмотреть работу примера можно с помощью готового шаблона (IndeedId.SSO.Test.App.PswRest.Example1.app).
Пример 2
- определение пользовательской группы символов для генерации пароля;
- описание требований вхождения символов пользовательской группы в пароль;
- определение длины пароля в соответствии с требованиями вхождения символов в
пароль.
Пароль в ESSO-приложении должен удовлетворять следующим требованиям:
- пароль должен состоять не менее чем из 6 символов;
- пароль не должен содержать одинаковых символов;
- пароль должен содержать хотя бы 2 символа каждой из групп:
— прописные буквы английского алфавита от A до Z;
— строчные буквы английского алфавита от a до z;
— десятичные цифры (от 0 до 9);
— неалфавитные символы (например, !, $, #, %).
Описание ограничений генерируемых паролей:
=+-_!@#$%^&*() " /> =+-_!@#$%^&*() " />
- будут стоять из 8 символов (в данном случае длина пароля определяется требованиями вхождения символов в пароль);
- будут содержать по 2 символа каждой из групп: прописные буквы английского алфавита, строчные буквы английского алфавита, цифры, неалфавитные символы;
- не могут содержать повторяющиеся символов.
Посмотреть работу примера можно с помощью готового шаблона (IndeedId.SSO.Test.App.PswRest.Example2.app).
Требования к паролям — полная чушь
Знаете, что самое худшее в паролях (а там есть из чего выбирать)? Требования к их сложности.

«Если мы не решим проблему с паролями при моей жизни, я восстану из могилы призраком и буду вас всех преследовать».
Пусть эта клятва будет записана на скрижалях Интернета. Я не в курсе, есть ли жизнь после смерти, но рано или поздно выясню, и тогда уж держитесь — у меня грандиозные планы.
Мир буквально погряз в ужасных правилах создания паролей:
Но вам все это и объяснять не нужно. Те, кто пользуется рандомными генераторами паролей, как и положено нам, гикам в последней стадии, на своей шкуре испытывают невыносимые страдания под гнетом этого режима изо дня в день.
Видели этот классический комикс о паролях от XKCD?

Разумеется, можно спорить, стоит ли считать «correct horse battery staple» примером хорошей стратегии для создания паролей, но суть аргумента в том, что длина решает.

Нет, серьезно, решает. Скажу даже больше: зуб даю, что ваш пароль слишком короткий. В наше время, учитывая, насколько развиты облачные вычисления и взлом паролей с помощью GPU, ставить пароль в 8 символов или короче — все равно что вообще его не ставить.
Тогда, получается, одно правило у нас уже есть: пароль не должен быть коротким. Длинный пароль с большей вероятностью окажется надежным, чем короткий… правда же?
А что скажете о таком пароле в 4 символа?

Или о таком, в 8 символов?

Или о таком, гипотетическом, но вполне реалистичном, в 7 символов?

«Извините, но ваш пароль должен содержать не менее одного символа из арабского, китайского, тайского, корейского и клингонского, пиктограмму из Wingdings и смайлик».
Кроме того, вы, наверное, удивитесь, но если вставить вышеприведенные 4 смайлика в поле пароля из вашего любимого окна авторизации (давайте, попробуйте), окажется, что там на самом деле… вовсе не четыре символа.


Наш старый друг Юникод опять за свое.
Как выясняется, даже простое правило «ваш пароль должен быть разумной длины» работает с оговорками. Особенно если перестать мыслить, как двинутые на ASCII американцы.
Да и если присмотреться ко всем этим славным длинным паролям… всегда ли они надежны?
aaaaaaaaaaaaaaaaaaa
0123456789012345689
passwordpassword
usernamepassword
Конечно, нет. Вы вообще видели живых пользователей в последнее время?

Они последовательно портят каждую программу, которую я создаю. Да, да, знаю, вы гики в последней стадии и знаете всё о понятии энтропии. Но выражать свою любовь к энтропии через ужасные изощренные требования к паролям вроде:
- должны содержать прописные буквы;
- должны содержать строчные буквы;
- должны содержать числа;
- должны содержать специальные символы.
Когда мы работали над Discourse, я узнал, что окошко авторизации, оказывается, очень сложный компонент софта, несмотря на внешнюю простоту. Главное требование к паролям, которые мы приняли — длина — также было достаточно простым. Пока я писал эту статью, мы уже успели увеличить минимальную возможную длину пароля с 8 до 10 символов. А для модераторов и администраторов и решили поставить нижнюю границу еще выше, на 15 символах.
Кроме того, я настаивал на том, чтобы проверять, не совпадает ли пароль с каким-нибудь из списка 100 000 самых распространенных. Если проанализировать 10 миллионов паролей, которые попали в общий доступ из-за утечек данных, выясняется, что чаще всего используются следующие 25:
123456
123456789
qwerty
12345678
111111
1234567890
1234567
password
123123
987654321
qwertyuiop
mynoob
123321
666666
18atcskd2w
7777777
1q2w3e4r
654321
555555
3rjs1la7qe
google
1q2w3e4r5t
123qwe
zxcvbnm
1q2w3e
Даже эти данные свидетельствуют об излишней зацикленности на системе ASCII. То есть цифры-то, конечно, везде одинаковые, но мне как-то не верится, что среднестатистическому китайцу придет в голову поставить в качестве пароля «password», «quertyuiop» или «mynoob». Так что такие списки необходимо составлять с учетом локализации и прочих параметров.
(Есть еще интересная мысль: искать популярные короткие пароли в составе длинных, но, как мне кажется, получится слишком много ошибок первого рода)
Представленная статистика также свидетельствует в пользу того, чтобы делать пароли длиннее. Обратите внимание: из 25 самых популярных паролей только 5 имеют длину в 10 символов и больше. Соответственно, если мы установим минимум в 10 символов, то уже одним этим отсечем 80% списка. Впервые я это выяснил, когда собрал несколько миллионов паролей из утечек данных в рамках исследования для Discourse и отфильтровал те, которые соответствуют нашему новому требованию, чтобы длина пароля была не меньше 10 символов.

И внезапно от огромного списка остались рожки да ножки. (Если вы тоже проводили подобные исследования, поделитесь, пожалуйста, результатами в комментариях)
Я хотел бы предложить коллегам-разработчикам следующие рекомендации, продиктованные исключительно здравым смыслом:
1. Требования к паролям — полная чушь
- Они не работают.
- Они наказывают аудиторию, которую вам нужно привлекать в первую очередь, — тех, кто пользуется рандомными генераторами паролей. Прикиньте, рандомный пароль может и не содержать в себе цифры или символа. Я два раза сверился с учебником по математике, и да, вроде бы такое вполне возможно.
- Они раздражают основную массу пользователей, отбивая у них охоту с вами сотрудничать и подстегивая искать всякие «остроумные» лазейки. В результате пароли получаются менее надежными.
- Они часто ошибочны, в том смысле, что предложенный набор правил недостаточен или попросту нелеп. Достаточно посмотреть на любой пример с доски позора, на которую я ссылался выше.
- Нет, правда, ради всего святого, хватит уже этой ерунды с произвольными требованиями к паролям. Если не верите мне, почитайте рекомендации по требованиям к паролям от NSIT. Вот, так и написано: «избегайте устанавливать правила создания паролей». Хотя, на мой взгляд, тут есть одна неточность, надо было написать: «избегайте устанавливать тупые правила».
2. Установите минимальную длину пароля в Юникоде
Одно правило, по крайней мере, легко запомнить, понять и внедрить. Это то самое пресловутое правило, чтоб править всеми, оно главнее всех, сберёт всех вместе и заключит во тьме.

- Это просто. Пользователи умеют считать. Ну, большинство умеет.
- Это работает. Статистика подтверждает, что это работает: просто скачайте любой список популярных паролей на ваш выбор и рассортируйте их по длине.
- Математика не даст соврать. При прочих равных условиях длинный пароль будет более рандомным, чем короткий, а значит, и более надежным.
- Смиритесь с тем, что даже у этого единственного правила будут исключения. Минимальная длина в 6 символов на китайском сайте — это вполне разумно. С другой стороны, пароль в 20 символов может быть до смешного простым для взлома.
- Если в ваше поле пароля нельзя ввести (практически) любой символ из Юникода, вы скорее всего что-то делаете не так.
- Это уже больше относится к частностям реализации, но не забудьте также установить вменяемую максимальную длину пароля.
3. Сверяйтесь со списком самых распространенных паролей
Как я уже говорил, какие из них считать «распространенными», зависит от вашей аудитории и языка, но в любом случае, позволяя пользователям ставить пароли из списка 10 000, 100 000 или миллиона самых популярных паролей из утечек данных, вы оказываете им медвежью услугу. Нет ни малейшего сомнения, что хакер попробует эти пароли при попытке взлома, и, даже если вы ставите жесткие ограничения на количество попыток ввода, достаточно прогнать первую тысячу, чтобы добиться шокирующе хороших результатов.
- у 1.6% пользователей пароль из числа 10 самых популярных;
- у 4.4% пользователей пароль из числа 100 самых популярных;
- у 9.7% пользователей пароль из числа 500 самых популярных;
- у 13.2% пользователей пароль из числа 1000 самых популярных;
- у 30% пользователей пароль из числа 10 000 самых популярных.
Проводите исследования. Собирайте данные. Спасайте пользователей от самих себя.
4. Контролируйте количество энтропии
Тут ничего особо заумного, просто выберите ту величину, которая инстинктивно кажется вам подходящей в глубине души. Но не забывайте: вам придется объяснять свою логику пользователям, которые не пройдут проверку.

Я с некоторой грустью осознал, что нас вполне устраивает, чтобы пользователь установил пароль из 10 совершенно одинаковых символов («аааааааааа»). На мой взгляд, самый простой способ избежать такой ситуации — задать минимум в x уникальных символов на общее число y. Так мы и поступаем в последней бета-версии Discourse. Но если у вас есть какие-то другие идеи, будем рады услышать их в комментариях. Чем проще и яснее, тем лучше!
5. Отлавливайте особые типы паролей
Стыдно признаться, но, реализуя окошко авторизации для Discourse, мы совершенно забыли про два распространенных случая, которые необходимо отслеживать и пресекать (я упоминал об этом в другой статье):
- пароль, который совпадает с именем пользователя;
- пароль, который совпадает с e-mail.
Также, возможно, вам стоит блокировать еще некоторые разновидности:
- пароль, который совпадает с URL сайта или именем домена;
- пароль, который совпадает с названием приложения.
Пояснение
Некоторые читатели восприняли мои слова как «все правила, кроме этих четырех, которые я сейчас распишу — полная чушь». Я имел в виду другое.
Мысль такая: сосредоточьтесь на одном ясном, простом и практичном правиле, который реально работает в любой ситуации — длине. Пользователи могут вводить что угодно (в разумных пределах) на Юникоде с одним условием — чтобы было достаточно символов. Пароль должен быть длинным — это то самое единственное собирательное правило, которому мы должны научить пользователей.
Пункты с третьего по пятый — это просто оговорки для особых случаев (типа как джину нельзя загадывать желание получить неограниченное число желаний). Тут не нужно каких-то предварительных обсуждений, потому что такие вещи должны быть редкими исключениями. Пользователей нужно останавливать, если они пытаются ввести пароль, совпадающий с именем, или 0123456789, или просто «аааааааааааа», но это должно происходить в рамках проверки данных после ввода, а не в соответствии с предварительно разъясненным правилом.
Так что, если в двух словах: правило одно — длина. Вводите что ваша душа пожелает, лишь бы количество символов тянуло на нормальный пароль.
- пароли
- безопасность
- безопасность веб-приложений
- безопасность сайтов
- форма авторизации
- авторизация
- Блог компании Productivity Inside
- Информационная безопасность