I use MD5 for hash passwords. When should I go to the next thing? SHA-3?

On October 2, NIST decided that SHA-3 is the new standard hash algorithm.

Should MD5 users switch to SHA-3? Anything else (see below why SHA-3 is not recommended)? Bcrypt?

Why not {MD5, SHA1, SHA256, SHA512, SHA-3, etc.}?

And is that really important? Even if your password is salty?

-1
source share
1 answer

The main reason not to use MD5 for password hashing is not the fact that MD5 is badly compromised or even considered broken.

True, MD5 discovered vulnerabilities . But none of them pose a serious threat to the use of MD5. Because in your case, the only threat will be a prototype attack when an attacker tries to find a prototype of a known hash, for example. password to a known (salted) password password. Probably the well-known preliminary attack against MD5 is only theoretical and reduces the force from 2 128 to 2 123.4 which is not a big advantage. A brute force attack with an average of 2 64 is even more promising.

No, the main reason not to use MD5 is because MD5 is too fast . With today's affordable computer, you can generate and test 7190M MD5 hashes per second . All character combinations of 8-character alphanumeric characters can be mournful for about 8.5 hours, whether with or without salt.

In contrast, with a hash function such as bcrypt $2a$ , you can generate and test 4085 hashes per second, so only 0.00005682% of the number of MD5 hashes. With bcrypt $2a$ you will need 1694 for the same attempt.

+7
source

All Articles