Example #1
0
        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();
        }
Example #2
0
        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();
        }