security - Is using a 'salt' all that good? -


I do not claim to be an expert in security, but I think that adding salt is not really for example , If the user's password is John 1970 and salt 123456, then this means that the password is 123456john1970, while it is an attacker (using a dictionary attack) like rainbow tables), the attacker might guess. The first part is salt. I use non-standard methods (like XORing with some keys or applying a few simple mathematical operations for the code of the letters) more effective I know most of you probably will not agree with me, but it makes me more understandable Comes.

Your opinion?

Duplicate:

The salt has not been added to make a password difficult at the front, it has been added to ensure that password storage does not leak additional information

In fact, salt arises randomly for each password, and is stored without any type of obstruction of the password.

The password is never stored in the database, only hash is stored (MD5, SHA1, SHA2 * etc.).

The MD5 of 'password' is always 523320acce0dc6a4 of PhD 04869 286755. If you have stored MD5 in the password database, you can see that string and know that password is 'password'.

By adding the salt of '84824', this amount becomes 2ca20e59df3a62e5dc4a3a0037372124. But if you have another database (or the other user uses the same password), they may have a random salt of '8999', so that: 4e7a210a07958cfe24138a644cbb7f84

The issue is that if an attacker A password database of passwords, password hashes will be meaningless; You will also not be able to tell whether 2 or more users were using the same password.

Edit:

In comparison - The mathematical formula that you apply can be reversed. If you choose a salt, the password is the exhaust salt with the Hash, then the attackers can only undo the XOR operation and get the original hash on which the rainbow tables are extremely useful.

If you think that the mathematical formula can not be reversed, there is an opportunity that you are actually losing data, and you are mapping multiple passwords in the same final hash. It actually multiplies the probability that the attacker will get a password for hash because any suitable password will work.

If you keep XOR safe and keep the XOR value safe, it is just an additional secret that should be kept anywhere, and by revealing that secret effectively loses all of your passwords. (Again due to rainbow tables). There is no additional secret with salt, the operation can not be reversed, but can be repeated, and each password must be attacked individually.

EDIT: This is absolutely relevant now:


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -