Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> If you're trying to store the secret's hash, isn't something like bcrypt/scrypt preferred over raw sha256 these days?

Not for this type of use case. If a secret is long and generated from a cryptographically secure source (eg /dev/urandom), then any cryptographic hash function is fine as brute forcing the secret itself is not feasible. A single pass of sha256 is fine and presumably you’d be doing many of these operations each second in a high throughput application.

“Slow” hash functions like bcrypt or scrypt are for user provided secrets that might not have a large amount of entropy. It’s fine for something like user authentication but would be way too slow and pointless for API keys.



> If a secret is long

It seems this one, at 24 base-58 characters, is only roughly twice as long as it needs to be, right? How short is too short?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: