Если пароли хранятся в хэше, как компьютер узнает, что ваш пароль похож на последний, если вы попытаетесь сбросить пароль? Разве два пароля не будут совершенно разными, поскольку один хешируется и не может быть восстановлен?
Если пароли хранятся в хэше, как компьютер узнает, что ваш пароль похож на последний, если вы попытаетесь сбросить пароль? Разве два пароля не будут совершенно разными, поскольку один хешируется и не может быть восстановлен?
Ответы:
Один из способов реализовать это - если вы сбрасываете пароль, вас обычно просят также ввести старый пароль. Вы можете просто использовать обычное сравнение строк в этой ситуации, потому что в этот момент у вас есть оба пароля в виде открытого текста.
Другой способ реализовать это - нормализовать пароль, например, акцентированные символы нормализуются к ближайшим буквам английского алфавита, попытаться фонетически переписать текст, удалить цифры и т. Д., А также предварительно рассчитать несколько версий хэшей, сгенерированных из пароля, который были нормализованы по-разному. Обратите внимание, что это ослабляет механизм хеширования на неопределенную величину. Я бы не стал считать это лучшей практикой безопасности.
Ответ прост: безопасная система не знает, похожи ли они.
Но некоторые системы в некоторых случаях намеренно снижают безопасность для конкретного пароля, чтобы новые пароли не были старыми или похожими на них. Компромисс между затратами и преимуществами заключается в том, что новый пароль будет создан до того, как кто-то злонамеренно взломает текущий пароль даже с информацией о сходстве.
В целом, каждый из этих методов снижает безопасность паролей.
Хранение старых паролей снижает безопасность этих паролей. Если какой-либо из этих паролей будет взломан, существует высокая вероятность того, что текущий пароль будет похож на них, большинство людей меняют только номер.
Прибивание большого пальца и статистика могут устранить неверные предположения пароля быстрее, чем попытка хешировать догадки и сравнивать. Это связано с тем, что хэши, особенно безопасные хэши, сложны для вычисления и принятия усилий, даже если аппаратное ускорение. Хотя более простое вычисление, которое говорит «определенно нет» или «возможно», может устранить большинство из этих предположений, в конце концов, проверка сходства предназначена для того, чтобы помешать вам использовать похожие пароли, а не использовать совершенно новый пароль, который ничем не похож на старый.
Короче, будьте осторожны с любым сайтом, который указывает меру сходства с вашим текущим / старым паролем. Если только они не говорят, что новый пароль - это старый пароль.
Если пароли хранятся в хэше, как компьютер узнает, что ваш пароль похож на последний, если вы попытаетесь сбросить пароль? Разве два пароля не будут совершенно разными, поскольку один хешируется и не может быть восстановлен?
Вы генерируете несколько похожих паролей из того, который ввел пользователь, и проверяете, совпадает ли какой-либо из их хэшей со старым паролем.
Другим примером является то, что ваша система хеширует некоторые характерные подмножества вашего пароля и сохраняет эти хеш-коды, чтобы проверить, соответствует ли подмножества нового пароля любому из старых, а именно: пароль: «Admin2018» & subset: «Admin» = не может ввести «Admin2019» как новый.