/// <summary> /// Verifies if a username and password are valid users /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <returns>boolean result</returns> public static Boolean VerifyUsernamePassword(string username, string password) { DataSetTableAdapters.UsersTableAdapter usertableadapter = new DataSetTableAdapters.UsersTableAdapter(); DataSet.UsersDataTable data = usertableadapter.GetUserByUsername(username, true); //Get user with matching username if (data != null && data.Count != 0) //check if user exists { DataSet.UsersRow user = data[0]; //get the userrow from the dataset string input_hash = HashSaltPassword(password, user.PasswordSalt.ToString()); //input password gets hashed using the known salt if (input_hash == user.PasswordHash.ToString().Trim()) { return(true); //if existing hash and generated hash match, user is verified! } } return(false); //for all other cases verification fails }
protected void textBoxRegister_Click(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine("REGISTER CLICKED"); string ADDR1 = textBoxALine1.Text; string ADDR2 = textBoxALine2.Text; string CITY = textBoxACity.Text; string REGION = textBoxARegion.Text; string COUNTRY = textBoxACountry.Text; string POSTCODE = textBoxAPost.Text; string USERNAME = textBoxUsername.Text; string PASSWORD = textBoxPassword.Text; string PASSWORD2 = inputPasswordConfirm.Text; string EMAIL = textBoxEmail.Text; string PHONENO = textBoxPhonNo.Text; string FIRSTNAME = textBoxFirstN.Text; string LASTNAME = textBoxLastN.Text; //Validate //is the username taken int MINLENGTH_FIRSTNAME = 2; int MINLENGTH_LASTNAME = 2; int MINLENGTH_EMAIL = 6; int MINLENGTH_USERNAME = 3; int MINLENGTH_PASSWORD = 6; int MINLENGTH_PHONE = 6; int MINLENGTH_PCODE = 3; int MINLENGTH_LINE1 = 2; int MINLENGTH_LINE2 = 0; int MINLENGTH_REGION = 3; int MINLENGTH_COUNTRY = 4; if (FIRSTNAME.Length < MINLENGTH_FIRSTNAME || LASTNAME.Length < MINLENGTH_LASTNAME || EMAIL.Length < MINLENGTH_EMAIL || USERNAME.Length < MINLENGTH_USERNAME || PASSWORD.Length < MINLENGTH_PASSWORD || PHONENO.Length < MINLENGTH_PHONE || POSTCODE.Length < MINLENGTH_PCODE || ADDR1.Length < MINLENGTH_LINE1 || ADDR2.Length < MINLENGTH_LINE2 || REGION.Length < MINLENGTH_REGION || COUNTRY.Length < MINLENGTH_COUNTRY) { validateError(6); } DataSetTableAdapters.UsersTableAdapter usertableadapter = new DataSetTableAdapters.UsersTableAdapter(); DataSet.UsersDataTable data = usertableadapter.GetUserByUsernameIgnoreActive(USERNAME); if (data.Count != 0) { validateError(7); } else { checkMail(EMAIL); checkPass(PASSWORD, PASSWORD2); if (PHONENO.Length < 8 || PHONENO.Length > 15) { validateError(5); } //Register Register_User(ADDR1, ADDR2, CITY, REGION, COUNTRY, POSTCODE, USERNAME, PASSWORD, EMAIL, PHONENO, FIRSTNAME, LASTNAME); } }