vinograd19
@vinograd19

Создание списка паролей?

Мне нужно создать 1000 одноразовых паролей из 6 цифр, и алгоритмом валидации на основании какого-нибудь ключа. Как это сделать?


Чуть подробнее: есть, например ключ `top_secret`, можно сделать пароли по принципу md5(`top_secret`+`1`), md5(`top_secret`+`2`), т.д. но в таком случае для проверки пароля нужно сверяться с базой, либо перебирать все md5(`top_secret`+`n`).


Хочется, чтобы существовал какой-то простой принцип проверки пароля на валидность сложности O(1), а не O(N), где N — количество паролей.
  • Вопрос задан
  • 5364 просмотра
Пригласить эксперта
Ответы на вопрос 4
opium
@opium
Просто люблю качественно работать
Ну используйте не хеширование, а шифрование.
Ответ написан
KoXGen
@KoXGen
Если проверять на валидность только сам пароль, то можно обойтись контрольной цифрой.
Генерируем пароль из 5 цифр — 12345, складываем их до 1 знака 1+2+3+4+5 = 15 = 1+5 = 6, итоговый пароль 123456.
111115, 111126, 111137, 574108.
Контрольную цифру можно сдвигать куда угодно, что снижает риски того, что кто-то сам придумает пароль.
Ответ написан
Комментировать
@gribozavr
apg
Ответ написан
Комментировать
@relgames
Java Developer
А чем плохо решение с базой? Сгенерил один раз рандомные пароли, записал в файл, дальше проверять можно хоть grep-ом. KISS и все такое.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы