I am implementing a password storage system and want to ensure it is resistant to brute-force and dictionary attacks. I know that hashing alone isn't sufficient, and salting is required, but I need clarification on:
- The best hashing algorithms for password storage (e.g., bcrypt, Argon2, PBKDF2).
- How to properly generate and store salts.
- How password stretching techniques help in increasing security.
A clear example of implementing secure password hashing in Python, PHP, or another language would be helpful.