Compare compares a hashed password with a plaintext password.
It uses bcrypt.CompareHashAndPassword to perform the comparison.
If the passwords match, it returns nil. Otherwise, it returns an error.
Hash generates a bcrypt hash from the given password.
It takes a byte slice as input and returns the hashed password as a string.
If an error occurs during the hashing process, it returns an empty string and the error.