Why is it that people use other algorithms, such as bcrypt for securing passwords, and not just a few thousand iterations of an SHA-2 family algorithm?
Note: lets say for examples sake a few thousand is 10,000.
Why is it that people use other algorithms, such as bcrypt for securing passwords, and not just a few thousand iterations of an SHA-2 family algorithm?
Note: lets say for examples sake a few thousand is 10,000.
The point of using bcrypt over regular hashing is that throttling (key stretching) can be easily and reliably implemented which makes brute-forcing a time consuming, thus impossible job. Hash functions even with thousands of iterations are still relatively easy and no time job for the processor. Bcrypt is designed to be brute-force resistant as cryptography or computing develop. If password cracking becomes easier, you just increase the cost parameter.
Bcrypt implements hashing, proof of work and salting the correct way. The point of using bcrypt is 1) to not reinvent the wheel 2) getting crypto stuff right is hard if someone goes DIY
Oh, and you can increase the cost parameter without the need to update all the other hashes (so you can politely ask the users to change their password and everything will work seamlessy)