add password hashing functions and tests