added functionality to generate the UserPassword which contains the user
specified password and a randomly generated salt