You can load the user up yourself
DotNetNuke.Entities.Users.UserInfo info = DotNetNuke.Entities.Users.UserController.GetUserByName(0, "Mike");
string password = DotNetNuke.Entities.Users.UserController.GetPassword(info, info.Membership.PasswordAnswer);
Now you have their password and can check it against the password that has been passed in, ensuring it is valid. Is there a reason you want to manually validate the password instead of just calling the ValidateUser method? Try using the ValidateUser overload as follows:
DotNetNuke.Security.Membership.UserLoginStatus logStat = DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_FAILURE;
DotNetNuke.Entities.Users.UserInfo info = DotNetNuke.Entities.Users.UserController.ValidateUser(portalId, userName,
password, string.Empty, string.Empty, "255.255.255.1", ref logStat);
and then check for logStat == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUCCESS and that info != null.