private void Login() { SuperChatContext context = new SuperChatContext(); if (UsernameTextBox.Text == "" || PasswordPasswordBox.Password == "") { UsernameTextBox.BorderBrush = UsernameTextBox.Text == "" ? new SolidColorBrush(Colors.Red) : new SolidColorBrush(Colors.DarkGray); PasswordPasswordBox.BorderBrush = PasswordPasswordBox.Password == "" ? new SolidColorBrush(Colors.Red) : new SolidColorBrush(Colors.DarkGray); return; } User user = context.Users.First(u => u.Name == UsernameTextBox.Text.ToLower()); if (Hash.HashInput(PasswordPasswordBox.Password, user.Salt) != user.Password) { MessageBox.Show("foutieve inloggegevens"); UsernameTextBox.Text = ""; PasswordPasswordBox.Password = ""; return; } CspParameters cp = new CspParameters(); cp.KeyContainerName = "superChat" + user.Name; var rsa = new RSACryptoServiceProvider(cp); ChatListWindow window = new ChatListWindow(rsa, user); window.Show(); Close(); }
private void RegisterButton_Click(object sender, RoutedEventArgs e) { var usersWithSameName = context.Users.Where(u => u.Name == UsernameTextbox.Text.ToLower()).ToList(); if (usersWithSameName.Count > 0) { MessageBox.Show("De gebruikersnaam is al in gebruik"); return; } if (PasswordBox.Password != PasswordcheckBox.Password) { MessageBox.Show("De twee wachtwoorden komen niet overeen"); return; } var user = new User(); user.Name = UsernameTextbox.Text.ToLower(); user.Salt = Guid.NewGuid().ToString(); user.Password = Hash.HashInput(PasswordBox.Password, user.Salt); CspParameters cp = new CspParameters(); cp.KeyContainerName = "SuperChat" + user.Name; var rsa = new RSACryptoServiceProvider(cp); user.PublicKey = rsa.ToXmlString(false); context.Users.Add(user); context.SaveChanges(); ChatListWindow window = new ChatListWindow(rsa, user); window.Show(); Close(); }