private void loginButton_Click(object sender, EventArgs e) { SHA256 mySHA256 = SHA256.Create(); String login; String passwd; login = loginLoginBox.Text; if (loginLoginBox.Text.Length == 0) { MessageBox.Show("Proszę podać login.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (loginPasswordBox.Text.Length == 0) { MessageBox.Show("Wprowadzono puste hasło.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } passwd = ComputeSha256Hash(loginPasswordBox.Text); Console.WriteLine(login); Console.WriteLine(passwd); var resultcheck = bazaDanych.CheckUser(login, passwd); if (resultcheck.Item1 == 32) { var result = MessageBox.Show("Pomyślnie zalogowano.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Information); if (result == DialogResult.OK) { if (rememberMeChkbx.Checked) { Properties.Settings.Default.login = loginLoginBox.Text; Properties.Settings.Default.password = loginPasswordBox.Text; Properties.Settings.Default.Save(); } else { Properties.Settings.Default.login = ""; Properties.Settings.Default.password = ""; Properties.Settings.Default.Save(); } LoginData ld = LoginData.GetInstance(); ld.UserID = resultcheck.Item2; ld.isAdmin = true; ld.name = login; ld.hash = passwd; isMapVisible = true; AdminGameWindow app = new AdminGameWindow(ld); ElementHost.EnableModelessKeyboardInterop(app); app.Show(); Close(); } } else if (resultcheck.Item1 == 31) { var result = MessageBox.Show("Pomyślnie zalogowano.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Information); if (result == DialogResult.OK) { if (rememberMeChkbx.Checked) { Properties.Settings.Default.login = loginLoginBox.Text; Properties.Settings.Default.password = loginPasswordBox.Text; Properties.Settings.Default.Save(); } else { Properties.Settings.Default.login = ""; Properties.Settings.Default.password = ""; Properties.Settings.Default.Save(); } LoginData ld = LoginData.GetInstance(); ld.UserID = resultcheck.Item2; ld.isAdmin = false; ld.name = login; ld.hash = passwd; isMapVisible = true; UserGameWindow app = new UserGameWindow(ld); ElementHost.EnableModelessKeyboardInterop(app); app.Show(); Close(); } } else if (resultcheck.Item1 == 102) { MessageBox.Show("Błąd pobierania danych użytkowników", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); loginLoginBox.Text = ""; loginPasswordBox.Text = ""; return; } else if (resultcheck.Item1 == 103) { MessageBox.Show("Błąd połączenia", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); loginLoginBox.Text = ""; loginPasswordBox.Text = ""; return; } else if (resultcheck.Item1 == 50) { MessageBox.Show("Błędne dane autoryzacyjne.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); loginLoginBox.Text = ""; loginPasswordBox.Text = ""; return; } else { MessageBox.Show("Nieznany błąd", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); loginLoginBox.Text = ""; loginPasswordBox.Text = ""; return; } }
private void registerButton_Click(object sender, EventArgs e) { SHA256 mySHA256 = SHA256.Create(); String login; String passwd; String passwd2; login = registerLoginBox.Text; passwd = registerPasswordBox.Text; passwd2 = registerSecondPasswordBox.Text; //czy w ogóle coś wpisali: if (registerLoginBox.Text.Length == 0) { MessageBox.Show("Proszę podać login.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (registerLoginBox.Text.Length < 5) { MessageBox.Show("Login musi posiadać co najmniej 5 znaków.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (registerPasswordBox.Text.Length == 0) { MessageBox.Show("Wprowadzono puste hasło.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //czy takie samo: if (passwd != passwd2) { MessageBox.Show("Wprowadzone hasła nie są takie same.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); registerLoginBox.Text = ""; registerPasswordBox.Text = ""; registerSecondPasswordBox.Text = ""; return; } //czy ma cyfre: if ((!passwd.Any(c => char.IsDigit(c))) || (!passwd.Any(c => char.IsLower(c))) || (!passwd.Any(c => char.IsUpper(c))) || (passwd.Any(c => char.IsWhiteSpace(c))) || (passwd.Length < 8)) { MessageBox.Show("Wprowadzone hasło:\n1. Musi zawierać co najmniej jedną cyfrę\n2. Musi zawierać co najmniej jedną wielką literę\n3. Musi zawierać co najmniej jedną małą literę\n4. Musi zawierać co najmniej 8 znaków\n5. Nie może zawierać spacji.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); registerPasswordBox.Text = ""; registerSecondPasswordBox.Text = ""; return; } passwd = ComputeSha256Hash(registerPasswordBox.Text); Console.WriteLine(login); Console.WriteLine(passwd); Boolean Admin = false; if (isAdmin.Checked) { Admin = true; } ShowAddQuestionDialog(); if (this.pytanie == "") { MessageBox.Show("Pytanie nie może być puste.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (this.odpowiedz == "") { MessageBox.Show("Odpowiedź nie może być pusta.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } int resultadding = bazaDanych.DodajUzytkownika(login, passwd, Admin, pytanie, odpowiedz); if (resultadding == 0) { var result = MessageBox.Show("Pomyślnie utworzono konto.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Question); if (result == DialogResult.OK) { LoginData ld = LoginData.GetInstance(); ld.UserID = 0; ld.isAdmin = Admin; ld.name = login; ld.hash = passwd; isMapVisible = true; this.Hide(); if (ld.isAdmin) { AdminGameWindow app = new AdminGameWindow(ld); app.Show(); this.Close(); } else { UserGameWindow app = new UserGameWindow(ld); app.Show(); this.Close(); } } } else if (resultadding == 33) { MessageBox.Show("Użytkownik z wybranym loginem już istnieje w systemie.", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); registerLoginBox.Text = ""; registerPasswordBox.Text = ""; registerSecondPasswordBox.Text = ""; return; } else { MessageBox.Show("Błąd dodania użytkownika", "Autoryzacja", MessageBoxButtons.OK, MessageBoxIcon.Error); registerLoginBox.Text = ""; registerPasswordBox.Text = ""; registerSecondPasswordBox.Text = ""; return; } }