I am developing a web application in Java and I want to make the authentication process secure
using hashed passwords.
In hashing, step-1: we take the password specified by the user and add salt to it.
step-2: hash using MessageDigest
and store the hashed value in the database
When authenticating the user during the login process, we repeat the same steps above, but instead of saving the hashed value, we compare it with the value present in the database.
Now forgive my ignorance, but I want to say that if a hacker gains access to the database by any other
means it can provide security because a hacker cannot get real password text from a hash so easily.
BUT , how can it provide protection against other forms of attacks such as Bruteforce attack, Rainbow attack, dictionary attack
, etc., since we use the same steps to authenticate the user to log in?
I don’t think password hashing is very important right now. Give me some suggestions ..... if I am wrong.
source share