Фон
Находясь в спортзале на днях, я работал с кодовым замком и понял, что было бы полезно мне как программисту. То есть моя комбинация - это три отдельных набора чисел, которые либо звучат одинаково, либо имеют какое-то другое отношение, облегчающее их запоминание. Например, 5-15-25, 7-17-2, 6-24-5. Эти примеры кажутся легко запоминающимися.
Вопрос
Как бы я реализовал нечто подобное для паролей? Да, их должно быть трудно взломать, но они также должны быть простыми для запоминания конечным пользователем. Комбинированные замки делают это с помощью комбинации чисел с похожими звуками и чисел с похожими свойствами (7-17-23: все простые, 17 выпадают сразу после языка, а 23 - другое простое, и есть из этого набора), «жесткий», чтобы запомнить).
Критерии
- Пароль должен быть легко запоминающимся.
Dog!Wolf
легко запомнить, но как только злоумышленник узнает, что ваш веб-сайт выдает эту комбинацию, его становится намного проще проверять.
- Слова или буквы должны в основном следовать тем же звукам (по большей части).
- Не менее 8 букв
- Не использовать
!@#$%^&*();'{}_+<>?,./
Эти знаки препинания, хотя и подходят для «жестких» паролей, не имеют звука, который легко запомнить.
Ресурсы
Этот вопрос не зависит от языка, но если есть конкретная реализация для C #, я был бы рад услышать об этом.
Обновление
Несколько пользователей сказали, что это плохая защита пароля. Не не предполагайте, что это для веб-сайта. Это может быть просто для меня, чтобы сделать приложение для себя, которое генерирует пароли в соответствии с этими правилами. Вот пример.
буквы
* +1036 * A - C * +1039 * - C - L * тысяча сорок три * - * +1044 * I - M - O - P «поток», и они оказываются два
обычные слова вместе взятые
( Акклимат и Швабра ). В дальнейшем,
когда пользователь произносит эти буквы, или
говорит их как слово, это актуально
слово для них. Легко запомнить, но
трудно взломать (атака по словарю,
очевидно).
Этот вопрос состоит из двух частей:
- Создание паролей из букв, которые звучат одинаково (с использованием аллитерации) или
- Создайте пароли, которые объединяют общие слова аналогичным образом, чтобы создать третий набор букв, которого нет в словаре.