Yo te recomiendo utilizar argon2di, o scrypt.
Mira comparaciones.
Uno de los problemas con los SHA y HMAC-SHA es que son muy rápidos. Y eso no es bueno para seguridad. A más rapido se generan los hashes, más rápidos son de crackear también.
HMAC-SHA a diferencia de SHA usa una clave para cifrar el hash, asique si te hacen un dump con un sqli, no lo pueden romper sin averigurar la contraseña del servidor.
Hay varios artículos que lo explican.
https://medium.com/analytics-vidhya/password-hashing-pbkdf2-scrypt-bcrypt-and-argon2-e25aaf41598e
PBKDF2 usa varias pasadas de HMAC-SHA.
Mira comparaciones.
Uno de los problemas con los SHA y HMAC-SHA es que son muy rápidos. Y eso no es bueno para seguridad. A más rapido se generan los hashes, más rápidos son de crackear también.
HMAC-SHA a diferencia de SHA usa una clave para cifrar el hash, asique si te hacen un dump con un sqli, no lo pueden romper sin averigurar la contraseña del servidor.
Hay varios artículos que lo explican.
https://medium.com/analytics-vidhya/password-hashing-pbkdf2-scrypt-bcrypt-and-argon2-e25aaf41598e
PBKDF2 usa varias pasadas de HMAC-SHA.