You're Probably Storing Passwords Incorrectly

Bob Armour wrote:

“If the salt is random, how do we reliably generate the same salt value the next time the user logs in?”

You would have to either store the user-unique hash together with the salt used to generate it, or make the salt a function of some other piece of information unique to the user account, like the user name.