I am using .NET Bcrypt hash implementation from third party library and it has method that create hash simply providing text or password like below.
Bcrypt.HashPassword("password")
I know that generated hash contains salt information but it doesn't get salt parameter while creating hash.
Bcrypt create random salt internally and use it ?
It can cause security weakness if i don't use salt overloaded method ?
From a theoretical standpoint, you should be doing the following, where
Pis the given password:S.H = Hash(S + P), whereHashis a cryptographically-strong hashing algorithm.SandHin your database for the current user.At authentication time, given candidate password
P'for someone claiming to be that same user, validate the user if and only ifH == Hash(S + P').The salt is not something it should be creating only internally. It should be giving you the salt to store with the hashed salt + password.
Yes.