/// <summary> /// to check if the given email matchs the saved email. /// email has not been encrypted /// username has been checked, exists. /// </summary> /// <param name="username">existed username</param> /// <param name="rawEmail">encrypted email</param> /// <returns>if matched, return true; else false</returns> public bool MatchEmail(string username, string rawEmail) { UserInfo existedUserInfo = userInfoService.GetUserInfoByUsername(username); string salt = existedUserInfo.salt; string email = existedUserInfo.email; string encryptedEmail = new HashManager().HashWithSalt(salt, rawEmail); return(encryptedEmail.Equals(email)); }
/// <summary> /// to login /// password has not been encrypted. /// username has been checked, safe to use. /// </summary> /// <param name="username">checked username</param> /// <param name="rawPassword">unencrypted password</param> /// <returns> /// true: login successful /// false: login failed /// </returns> public bool Login(string username, string rawPassword) { UserInfo userInfo = userInfoService.GetUserInfoByUsername(username); if (userInfo == (null)) { return(false); } string salt = userInfo.salt; string encryptedPassword = new HashManager().HashWithSalt(salt, rawPassword); if (encryptedPassword.Equals(userInfo.password)) { return(true); } else { return(false); } }