Why do salts make dictionary attacks 'impossible'?

后端 未结 11 1732
长情又很酷
长情又很酷 2020-11-28 01:23

Update: Please note I am not asking what a salt is, what a rainbow table is, what a dictionary attack is, or what the purpose of a salt is. I am querying: If you kno

11条回答
  •  一个人的身影
    2020-11-28 02:12

    It doesn't stop dictionary attacks.

    What it does is stop someone who manages to get a copy of your password file from using a rainbow table to figure out what the passwords are from the hashes.

    Eventually, it can be brute-forced, though. The answer to that part is to force your users to not use dictionary words as passwords (minimum requirements of at least one number or special character, for example).

    Update:

    I should have mentioned this earlier, but some (most?) password systems use a different salt for each password, likely stored with the password itself. This makes a single rainbow table useless. This is how the UNIX crypt library works, and modern UNIX-like OSes have extended this library with new hash algorithms.

    I know for a fact that support for SHA-256 and SHA-512 were added in newer versions of GNU crypt.

提交回复
热议问题