Password Hashing: Why BCrypt, Scrypt, and Argon2 Exist
SHA-256 is a great hash function and a terrible way to store passwords — because it's fast, and fast is exactly what an attacker with your leaked database wants. Password hashing algorithms are the ones deliberately engineered to be slow, memory-hungry, and unfriendly to GPUs.