Added password hashing and authentication