Exemplo n.º 1
0
        private void registratieKnop_Click(object sender, EventArgs e)
        {
            check = true;

            if (voornaamBox.Text.Length < 2)
            {
                MessageBox.Show("Voer een volledige voornaam in alstublieft.");
                voornaamBox.Text = String.Empty;

                check = false;
            }

            if (achternaamBox.Text.Length < 2)
            {
                MessageBox.Show("Voer een volledige achternaam in alstublieft.");
                achternaamBox.Text = String.Empty;

                check = false;
            }

            if (gebdatumBox.Text.Length < 10)
            {
                MessageBox.Show("Voer een correcte datum in alstublieft.");
                gebdatumBox.Text = String.Empty;

                check = false;
            }

            if (mailadresBox.Text.Length < 10)
            {
                MessageBox.Show("Voer een correcte e-mail in alstublieft.");
                mailadresBox.Text = String.Empty;

                check = false;
            }

            Regex regex   = new Regex(@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
            bool  isValid = regex.IsMatch(mailadresBox.Text.Trim());

            if (!isValid)
            {
                check = false;
            }

            if (wwBox.Text.Length < 5)
            {
                MessageBox.Show("Uw wachtwoord is te zwak. Voer een sterker wachtwoord in alstublieft.");
                wwBox.Text = String.Empty;

                check = false;
            }

            if (wwBox.Text != verifWwBox.Text && wwBox.Text != "")
            {
                MessageBox.Show("Het herhaalde wachtwoord komt niet overeen met het ingevoerde wachtwoord!");
                verifWwBox.Text = String.Empty;

                check = false;
            }

            if (Telnrbox.Text.Length < 8)
            {
                MessageBox.Show("Voer een volledig telefoonnummer in alstublieft.");
                Telnrbox.Text = String.Empty;

                check = false;
            }

            if (BSNbox.Text.Length < 9)
            {
                MessageBox.Show("Voer een volledig BSN-nummer in alstublieft.");
                BSNbox.Text = String.Empty;

                check = false;
            }

            if (check == true)
            {
                byte geslacht;
                try
                {
                    DateTime geboorteDatum = DateTime.ParseExact(gebdatumBox.Text, "dd-mm-yyyy", CultureInfo.GetCultureInfo("nl-NL"));
                    gebdatumBox.Text = geboorteDatum.ToString("yyyy-MM-dd");
                }
                catch
                {
                    MessageBox.Show("You f****d up fam");
                }
                if (geslachtBox.Text == "Man")
                {
                    geslacht = 1;
                }
                else
                {
                    geslacht = 0;
                }

                dbh.TestConnection();
                dbh.OpenConnectionToDB();

                bool exist = false;

                using (SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM [Persoon] WHERE BSN = @BSN", dbh.GetCon()))
                {
                    cmd.Parameters.AddWithValue("BSN", BSNbox.Text);

                    exist = (int)cmd.ExecuteScalar() > 0;
                }

                dbh.CloseConnectionToDB();

                if (exist)
                {
                    MessageHandler.ShowMessage("Gebruiker bestaat al!");
                }
                else
                {
                    string password = wwBox.Text;

                    var saltBytes = new byte[16];
                    var provider  = new RNGCryptoServiceProvider();
                    provider.GetNonZeroBytes(saltBytes);

                    var salt = Convert.ToBase64String(saltBytes);
                    var rfc2898DeriveBytes = new Rfc2898DeriveBytes(password, saltBytes, 10000);
                    var hashPassword       = Convert.ToBase64String(rfc2898DeriveBytes.GetBytes(256));

                    string sql = "INSERT INTO [Persoon] ([Naam], [Achternaam], [Geboortedatum], [Telefoonnummer], [Mail], [Geslacht], [BSN], [Wachtwoord], [Salt], [Aangemaakt]) VALUES ('" + voornaamBox.Text + "', '" + achternaamBox.Text + "', '" + gebdatumBox.Text + "', '" + Telnrbox.Text + "', '" + mailadresBox.Text + "', '" + geslacht + "', '" + BSNbox.Text + "', '" + hashPassword + "', '" + salt + "', '" + DateTime.Now + "')";

                    dbh.Execute(sql);

                    this.Hide();
                    var registreren = new Registratie_voltooid();
                    registreren.Closed += (s, args) => this.Close();
                    registreren.Show();
                }
            }
        }
Exemplo n.º 2
0
        private void inlogKnop_Click(object sender, EventArgs e)
        {
            bool bsnGoed = false;
            bool wwGoed  = false;

            if (bsn.Text.Length < 9)
            {
                MessageBox.Show("Voer een volledig BSN-nummer in alstublieft.");
                bsn.Text = String.Empty;
            }
            else
            {
                bsnGoed = true;
            }

            if (ww.Text.Length < 5)
            {
                MessageBox.Show("Uw wachtwoord is te zwak. Voer een sterker wachtwoord in alstublieft.");
                ww.Text = String.Empty;
            }
            else
            {
                wwGoed = true;
            }

            if (wwGoed == true && bsnGoed == true)
            {
                dbh.TestConnection();
                dbh.OpenConnectionToDB();

                bool exist = false;

                using (SqlCommand cmd = new SqlCommand("SELECT Salt FROM Persoon WHERE BSN =  @BSN", dbh.GetCon()))
                {
                    cmd.Parameters.AddWithValue("BSN", bsn.Text);

                    this.salt = Convert.ToString(cmd.ExecuteScalar());
                }

                if (salt != "")
                {
                    var saltBytes          = Convert.FromBase64String(this.salt);
                    var rfc2898DeriveBytes = new Rfc2898DeriveBytes(ww.Text, saltBytes, 10000);
                    hashedPassword = Convert.ToBase64String(rfc2898DeriveBytes.GetBytes(256));

                    using (SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM [Persoon] WHERE BSN = @BSN AND Wachtwoord = @Wachtwoord", dbh.GetCon()))
                    {
                        cmd.Parameters.AddWithValue("BSN", bsn.Text);
                        cmd.Parameters.AddWithValue("Wachtwoord", hashedPassword);

                        exist = (int)cmd.ExecuteScalar() > 0;
                    }

                    if (exist)
                    {
                        int userID;

                        using (SqlCommand cmd = new SqlCommand("SELECT Id FROM Persoon WHERE BSN =  @BSN", dbh.GetCon()))
                        {
                            cmd.Parameters.AddWithValue("BSN", bsn.Text);

                            userID = Convert.ToInt16(cmd.ExecuteScalar());
                        }

                        this.Hide();
                        var inloggen = new Hoofdmenu(userID);
                        inloggen.Closed += (s, args) => this.Close();
                        inloggen.Show();
                    }
                    else
                    {
                        MessageHandler.ShowMessage("Verkeerde BSN en/of wachtwoord!");
                    }
                }
                else
                {
                    MessageHandler.ShowMessage("Gebruiker bestaat niet.");
                }
                dbh.CloseConnectionToDB();
            }
        }