Мне нужно понять, если мы не храним фактический пароль в нашей базе данных из-за соображений безопасности. Обычно мы сохраняем односторонние зашифрованные пароли. Теперь, если это правда, и мы не будем менять пароль, как некоторые из известных веб-сайтов выясняют, что новый пароль очень близко или частично соответствует старым паролям, и они побуждают нас изменить его. Для этого им придется хранить старый пароль где-то или двухсторонний зашифрованный пароль, который может быть расшифрован снова.Сброс нового пароля соответствует старому паролю
ответ
Есть две возможности:
- Обычно при смене пароля, вы сначала обязаны ввести старый пароль, чтобы подтвердить, что вы это вы. Сайт может временно хранить этот старый пароль в памяти, чтобы он мог сравнить старый пароль с вашим новым.
- Когда вы вводите новый пароль, он может проверять, соответствует ли хэш количества простых модификаций его хэшированию вашего старого пароля.
Например, если вы вводите в свой новый пароль, как «password7», то сайт может делать ряд проверок, таких как:
password_hash("password0", old_salt) == value stored in database?
password_hash("password1", old_salt) == value stored in database?
password_hash("password2", old_salt) == value stored in database?
password_hash("password3", old_salt) == value stored in database?
password_hash("password4", old_salt) == value stored in database?
password_hash("password5", old_salt) == value stored in database?
password_hash("password6", old_salt) == value stored in database?
password_hash("password7", old_salt) == value stored in database?
password_hash("password8", old_salt) == value stored in database?
password_hash("password9", old_salt) == value stored in database?
Это было бы очень, очень медленно если они использовали правильный алгоритм хэширования паролей (например, bcrypt или scrypt), но я не удивлюсь, если это действительно выполняется в некоторых реализациях.
Конечно, есть и третья возможность того, что глупый сайт никогда не хэшировал ваш пароль в первую очередь!
Спасибо за логический ответ. Но это, кажется, очень вероятностный подход. Как определить анаграммы нового пароля. Кроме того, ближайший анаграмма, например, hash пароля6, может сильно отличаться от хэша пароля 7 или пароля пароля7. Если это так, я тогда снова подумаю, что вопрос все еще открыт. – siddhusingh
- 1. Настроить «Подтверждение пароля не соответствует паролю» в Rails
- 2. Сброс пароля
- 3. Сброс пароля в PBKDF2
- 4. Сброс пароля в MVC
- 5. Пароли/сброс пароля сброса пароля
- 6. Сброс пароля Backend Functionality
- 7. Анализировать Сброс пароля
- 8. Сброс пароля в nodejs
- 9. Сброс пароля CMDBuild
- 10. Сброс пароля email html
- 11. RESTful - сброс пароля
- 12. Сброс конфигурации отображения пароля
- 13. Сброс электронной почты/пароля
- 14. Сброс пароля PHP
- 15. Сброс пароля Excel VBA
- 16. Сброс пароля mysql
- 17. Сброс пароля Active Directory
- 18. Сброс пароля не работает
- 19. Сброс пароля не работает
- 20. Сброс пароля в Node.js
- 21. Firebase Сброс пароля Swift
- 22. Сброс пароля Drupal 7
- 23. Сброс пароля Известь обследование
- 24. Сброс пароля в Yii2
- 25. Сброс пароля Подтверждение работы
- 26. Сброс пароля subform
- 27. Сброс пароля клиента Opencart
- 28. Членство: Сброс пароля пользователя
- 29. _.deepClone объекта, не соответствует старому объекту?
- 30. Corona: ScoreText, написание нового балла по старому
Настоящая проблема заключается в неправильных правилах пароля. Предоставляя пользователям периодически менять пароль, вы гарантируете, что пользователи будут иметь плохие пароли и, скорее всего, напишут их на заметках «posit». Новые предложенные NIST правила (800-63-3: Руководства по цифровой аутентификации) вызывают это как практику, которая не должна выполняться. Dont: 1. Требовать правила композиции. 2. Разрешить подсказки. 3. Требовать истечение срока действия пароля. См. [Новые правила пароля] (https://nakedsecurity.sophos.com/2016/08/18/nists-new-password-rules-what-you-need-to-know/). OTOH ваша организация может быть более заинтересована в использовании неудачной практики. – zaph