public int Register() { if (m_username.Length >= Variable.MinLength.UserName && m_password.Length >= Variable.MinLength.Password && new Regex(Variable.Regix.Email).IsMatch(m_email.ToLower())) { string salt = Guid.NewGuid().ToString(); object uid = MariaDBHelper.ExecuteScalar( "RegisterUser", CommandType.StoredProcedure, new MySqlParameter("UserName", m_username), new MySqlParameter("Salt", salt), new MySqlParameter("UserNameHash", MariaDBHelper.GetHashCode(m_username + salt)), new MySqlParameter("PasswordHash", MariaDBHelper.GetHashCode(m_password + salt)), new MySqlParameter("UserRole", Variable.UserRole.user), new MySqlParameter("Status", Variable.State.User.inActived), new MySqlParameter("Email", m_email), new MySqlParameter("RegisterTime", DateTime.Now) ); return(Convert.ToInt32(uid)); } else { return(-1); } }
public int Login() { string salt = string.Empty, passwordHash = string.Empty; MariaDBHelper.ExecuteReader( "GetUserByUsername", CommandType.StoredProcedure, (MySqlDataReader dataReader) => { if (dataReader.Read()) { salt = MariaDBHelper.GetData(dataReader, "Salt"); passwordHash = MariaDBHelper.GetData(dataReader, "PasswordHash"); } }, new MySqlParameter("UserName", m_username) ); if (m_username.Length <= Variable.MinLength.UserName && m_password.Length <= Variable.MinLength.Password) { return(-1); } else if (MariaDBHelper.GetHashCode(m_password + salt) == passwordHash) { object loginId = MariaDBHelper.ExecuteScalar( "LoginUser", CommandType.StoredProcedure, new MySqlParameter("Ticket", m_ticket), new MySqlParameter("UserName", m_username), new MySqlParameter("LoginIP", m_loginIp), new MySqlParameter("LoginTime", DateTime.Now), new MySqlParameter("Status", Variable.State.Login.valid) ); return(Convert.ToInt32(loginId)); } else { return(0); } }