Daald
Muse
But how do you keep track of the random salt, without also storing it somewhere?
It doesn't matter. It's a one way function and it does not partially help figuring it out. You still have to go through the entire dictionary and hash with the salt which requires the cracker to have the algorithm in which you place the salt in the password string.
For example in a system I created we went about it like this.
MD5 the password + ';' + username
SHA the MD5 string + a random salt stored in the table with the password.
As you can see it would be pretty hard for them to crack. They need very extensive rainbow tables to crack the SHA since it has such random characters in it.
After they get that, they will need very extensive MD5 tables to get the real password.
ETA: The salt is also there ruin uniformity of users password strings that generally pick similar passwords.
Last edited: