Должен ли я использовать одну секретную строку как соль для хеширования, или лучше, чтобы у каждого пользователя была своя соль для хеширования?Полезно ли использовать имя пользователя пользователя в качестве соли при хешировании пароля, например, хэша (username_str + password_str)?
Рассмотрим эти три хэшей:
hash("secretKey777" + password);
hash("secretKey777" + username + password);
hash(username + password);
Какой из них труднее взломать и безопасным? Я думаю, что лучше всего использовать hash("secretKey777" + username + password);
, потому что для каждого пользователя не только «secretKey777», но и его собственное имя пользователя. В случае, если код, который хэширует утечку паролей, не будет атаки на все хеши одновременно - у каждого будет своя уникальная соль.
Это, вероятно, будет лучше подходит на [security.se] –
@MikeW Спасибо, я просто спросил его там, тоже. Вот ссылка: http://security.stackexchange.com/questions/69421/is-it-a-good-idea-to-use-the-users-username-as-a-salt-when-hashing-a- пароль-л – bodacydo