fixed and added tests for a bug where when the hashed password stored in the database is empty, then hash.verify throws an error because it can't read the hash information to generate the verify hash