Я бы сказал, что соление паролей, безусловно, является основным преимуществом по сравнению с сохранением их несолеными в целях предотвращения мошенничества.Однако, пожалуйста, используйте криптографически безопасный алгоритм медленного хеширования, такой как bcrypt, scrypt или pbkdf2 - не засоленный MD5.
Но вы могли бы съесть свой торт и съесть его, почему бы не иметь другой столсодержит предыдущие пароли, которые использовались при мошенничестве?Они будут хешированы, но не будут засолены, и в них не будет сохранено сопоставление каких-либо учетных записей.
Если пользователь, использующий один из этих паролей, окажется не мошенническим, вы можете уведомить его об изменении пароля.к чему-то еще после того, как вы расследуете.
Вот как я могу представить, что это будет работать для добавления новых паролей в список мошеннических паролей после того, как определено, что учетная запись используется для мошенничества.
- Учетная запись помечена как мошенническая.
- Когда этот пользователь в следующий раз пытается войти в систему, и его хэшированный, соленый пароль совпадает с хэшированным, соленым значением, сохраненным в его записи учетной записи, несоленый хэшированный пароль, полученный из его пользовательского ввода, сохраняетсяв списке мошеннических паролей.
Поскольку список мошеннических паролей может снизить безопасность учетных записей постоянных пользователей, поскольку они хранятся здесь несолеными, вы должны сделать «хорошо»пользователи меняют свои пароли при входе в систему, если он совпадает с любым в frсписок дополнительных паролей.