Now I am trying to figure out the best way to hash the password for my ASP.NET MVC 3 application. From what I hear, it is useful to use this password and random salt, and then store the hashed password and salt together. My question is not that useless random salt? I mean the reason for password hashing, because if someone gets into your database, they don't have simple passwords, and salt makes it much harder to change the hash to get the password, but if I save the hash with the password, what's the point of salt (my knowledge of hashing is limited, so I could completely abandon my thinking).
My second question is which hashing method is best to use? I read that MD5 (which I always used) is very easy to crack. I heard that bcrypt / sha512 are pretty good. Which one should I use? I know that C # comes with sha512 hashing by default. From what I see, bcrypt is not included in the .NET library, are there any good libraries for C # and bcrypt?
ryanzec
source share