Understanding password hashing and salting for enhanced security