Как можно умышленно не знать пароль?

Как можно создать и хранить пароль таким образом, чтобы пользователь не мог его извлечь сразу, но знал приблизительное время, за которое сможет извлечь его? Желательно, чтобы защита от брутфорса подразумевала определенное время раскола пароля, учитывая определенные правила его создания. Существуют ли готовые решения для подобного метода и какой термин используется для обозначения этого подхода?
  • 16 декабря 2023 г. 8:17
Ответы на вопрос 2
Существует метод хеширования паролей, при котором пароль можно получить только путем повторного применения хеширования на изначальном пароле множество раз. Этот процесс может занимать некоторое время, что создает задержку при расколе пароля.

Один из таких методов - bcrypt. Он используется для хеширования паролей и обеспечивает медленное вычисление хеша с использованием соли (случайного значения, добавляемого к паролю перед хешированием). Это делает процесс раскола паролей более затратным и времязатратным.

Другим примером является алгоритм Argon2, который является победителем PHC (Password Hashing Competition) и также обеспечивает медленное хеширование паролей с использованием соли.

Термины, используемые для обозначения этого подхода, включают "медленное хеширование" (slow hashing) или "парольная функция с адаптивной задержкой" (password-based function with adaptive delay).
когда я как пользователь сам точно не знаю пароль и какой он длинны и не могу его извлечь сразу, но приблизительно знаю как его извлечь скажем за месяц или за какой-то установленный длительный срок

Зачем такие сложности? Можно же реализовать механизм действия какого то простого пароля в ограниченный период времени, например каждые 300 часов после последнего удачного входа в течении 1 часа. Вообще, расшифровка какого то пароля это потенциальная дыра, и пароли локально лучше не хранить, а хранить данные для авторизации в виде хэшей или токенов.
Похожие вопросы