Hacker News new | ask | show | jobs
by pjc50 502 days ago
Password hash is designed for matching: take the salt, add it to the password, run it through the hash, compare it to the stored hash. The important properties are:

- MUST be non-reversible, including against tricks like "rainbow tables"

- should be somewhat expensive to discourage just trying all possible passwords against a (leaked) hash

KDF is a key derivation function. The value will be used as a key in, say, AES. The important properties are:

- should distribute entropy as well as possible, across the required width of output bits

- reversibility less important as the derived key shouldn't be stored anywhere

- may or may not want artificially inflated cost to discourage cracking

1 comments

I still have no idea now haha. Your answer and Fabbari's are total opposites. If I am understanding right, you are saying that Password Hash is how a password should be stored while a KDF is not meant for storing passwords. Fabbari is saying the opposite of this, that KDF should be used for storing passwords while password hashes should not.
Further discussion upthread under https://news.ycombinator.com/item?id=42957300