Are hashed and salted passwords secure against dictionary attacks?

后端 未结 5 1668
长发绾君心
长发绾君心 2021-01-17 23:24

I understand that salts make the same password hash to different values. However, salts are usually stored in the database with the password. So let\'s say I am attacker,

5条回答
  •  庸人自扰
    2021-01-18 00:13

    Without salt, the attacker can generate hashes for every word in his dictionnary then run the new dictionnary against your passwords list

    With salt, each password is hashed with a random string so even with the prior hashed dictionnary knowledge, he still have to re-create a new hashed dictionnary containing the salt for every different salt in your database.

    Just think of dictionnaries tables as a subset (small portion) of the rainbow tables. While rainbow tables can contain billions of entries, dictionnaries contain "known words", so maybe a few million entries at most.

    The reason why rainbow tables fail against salt is because the re-creation process would be "billions of entries" of recalculation while dictionnary attacks are still "few millions of entries". The salt just blocks precomputed values

提交回复
热议问题