Ejemplo n.º 1
0
    //Controleert en slaat het nieuwe wachtwoord op in de database
    protected void btn_Opslaan_Click(object sender, EventArgs e)
    {
        DatabaseConnectie dbconnect     = new DatabaseConnectie();
        SqlConnection     sqlConnection = new SqlConnection(dbconnect.dbConnectie);
        SqlCommand        WwChecken     = new SqlCommand("SELECT Hash FROM Wachtwoord ORDER BY Id DESC", sqlConnection);

        sqlConnection.Open();
        //Leest het laatst toegevoegde wachtwoord
        Wachtwoord = (string)WwChecken.ExecuteScalar();
        sqlConnection.Close();

        //Checkt of het oude wachtwoord goed is
        if (HashGenereren.checkHash(txtbx_OudWw.Text, Wachtwoord))
        {
            //Checkt of de nieuw ingevoerde wachtwoorden overeenkomen
            if (txtbx_NieuwWw1.Text == txtbx_NieuwWw2.Text)
            {
                if (txtbx_NieuwWw1.Text.Length > 5)
                {
                    //Hasht het nieuwe wachtwoord en Voegt het toe in de database
                    string hash = HashGenereren.Genereer(txtbx_NieuwWw1.Text);
                    sqlConnection.Open();
                    SqlCommand WwToevoegen = new SqlCommand("INSERT INTO Wachtwoord (Hash) VALUES ('" + hash + "');", sqlConnection);
                    WwToevoegen.ExecuteNonQuery();
                    sqlConnection.Close();
                    lbl_Info.Text = "Wachtwoord Verandert!";
                    Response.Redirect("InlogpaginaBeheerder");
                    Session["Login"]    = "";
                    txtbx_OudWw.Text    = "";
                    txtbx_NieuwWw1.Text = "";
                    txtbx_NieuwWw2.Text = "";
                }
                else
                {
                    lbl_Info.Text = "Uw nieuwe wachtwoord moet minimaal 6 karakters bevatten";
                }
            }
            else
            {
                lbl_Info.Text = "De velden bij Nieuwe Wachtwoord komen niet overeen";
            }
        }
        else
        {
            lbl_Info.Text = "Het oude wachtwoord is onjuist ingevoerd";
        }
    }
    protected void Button_Login_Click(object sender, EventArgs e)
    {
        DatabaseConnectie dbconnect     = new DatabaseConnectie();
        SqlConnection     sqlConnection = new SqlConnection(dbconnect.dbConnectie);
        SqlCommand        WwChecken     = new SqlCommand("SELECT Hash FROM Wachtwoord ORDER BY Id DESC", sqlConnection);

        sqlConnection.Open();
        //Checkt of het wachtwoord overeenkomt met de gehashte versie uit de database
        Wachtwoord = (string)WwChecken.ExecuteScalar();
        sqlConnection.Close();

        if (HashGenereren.checkHash(txtbx_Login.Text, Wachtwoord))
        {
            Session["Login"] = Wachtwoord;
            Response.Redirect("OverzichtBeheerder.aspx");
        }
        else
        {
            lbl_Info.Text = "Foutieve Inlogcode";
        }
    }
Ejemplo n.º 3
0
    protected void btn_Login_Click(object sender, EventArgs e)
    {
        DatabaseConnectie dbconnect     = new DatabaseConnectie();
        SqlConnection     sqlConnection = new SqlConnection(dbconnect.dbConnectie);
        SqlCommand        WwChecken     = new SqlCommand("SELECT Hash FROM Wachtwoord ORDER BY Id DESC", sqlConnection);

        sqlConnection.Open();
        //Checkt of het wachtwoord overeenkomt met de gehashte versie uit de database
        string Wachtwoord = (string)WwChecken.ExecuteScalar();

        sqlConnection.Close();

        if (HashGenereren.checkHash(txtbx_Login.Text, Wachtwoord))
        {
            lbl_Info.Text            = string.Empty;
            Session["StemmingLogin"] = Wachtwoord;
            Response.Redirect("StemmingKiezen.aspx");
        }
        else
        {
            lbl_Info.Text = "Dit wachtwoord is fout";
        }
    }
Ejemplo n.º 4
0
    public static void Decodeer(string Stemming)
    {
        //Maak de lijsten leeg
        HashGebruikteCodes.Clear();
        GestemdOp.Clear();
        string            Block               = "";
        string            Stem                = "";
        string            HashUniekeCode      = "";
        string            HashGestemdOp       = "";
        bool              HashUniekeCodeUniek = true;
        DatabaseConnectie dbconnect           = new DatabaseConnectie();
        SqlConnection     sqlConnection       = new SqlConnection(dbconnect.dbConnectie);

        sqlConnection.Open();

        //Checkt of de stemming wel afgelopen is (zo niet, dan gebeurt er niks)
        SqlCommand CheckAfgelopen = new SqlCommand("SELECT Actief FROM Stemming WHERE StemmingsNaam = '" + Stemming + "'", sqlConnection);
        bool       StemmingActief = Convert.ToBoolean(CheckAfgelopen.ExecuteScalar());

        if (StemmingActief == false)
        {
            SqlDataAdapter StemData = new SqlDataAdapter("SELECT BlockData FROM Block WHERE StemmingsNaam = '" + Stemming + "'", sqlConnection);

            //Voor elke string uit de db
            DataTable dt = new DataTable();
            StemData.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    //Haal de blokdata op uit de database
                    Block = (string)row["BlockData"];
                    //Check of het genesisblock is (lengte 50)
                    //Als het block een genesisblok is (dus geen stemdata)
                    //Sla het block dan over
                    if (Block.Length != 50)
                    {
                        //Check of de laatste paar karakters overeenkomen met het begin van de vorige string



                        //Verwijder de laatste 16 karakters (eerste 16 karakters van vorige block)
                        Block = Block.Remove(Block.Length - 16);
                        //Block Ontleden in delen en toevoegen aan List

                        //Zolang er nog stemmen in het blok staan
                        while (Block.Length > 0)
                        {
                            //Haal de eerste stem op uit de blockstring
                            Stem = Block.Substring(0, Block.IndexOf("&"));
                            //Verwijder de eerste stemstring uit de blockstring
                            Block = Block.Substring(Stem.Length + 1, Block.Length - Stem.Length - 1);
                            //Haal de hash van de unieke code uit de stemstring
                            HashUniekeCode = Stem.Substring(0, Stem.IndexOf("#"));
                            //Haal de hash van het project waarop gestemd is op
                            HashGestemdOp = Stem.Substring(Stem.IndexOf("#") + 1);

                            //Check of de UniekeCode al gebruikt is
                            foreach (string code in HashGebruikteCodes)
                            {
                                if (HashUniekeCode == code)
                                {
                                    HashUniekeCodeUniek = false;
                                }
                            }

                            //Als de UniekeCode nog niet gebruikt is
                            if (HashUniekeCodeUniek)
                            {
                                //Voegt de hash van de unieke code toe aan een lijst. Hierdoor kan hij niet nog een keer gebruikt worden.
                                HashGebruikteCodes.Add(HashUniekeCode);
                                SqlDataAdapter ucs   = new SqlDataAdapter("SELECT UniekeCode FROM UC WHERE StemmingsNaam = '" + Stemming + "'", sqlConnection);
                                DataTable      dtucs = new DataTable();
                                ucs.Fill(dtucs);

                                //Check of er unieke codes bij de stemming zijn
                                if (dtucs.Rows.Count > 0)
                                {
                                    //Voor elke UniekeCode
                                    foreach (DataRow ucsrow in dtucs.Rows)
                                    {
                                        //Als de hash overeenkomt met de UniekeCode uit de database
                                        if (HashGenereren.checkHash((string)ucsrow["UniekeCode"], HashUniekeCode))
                                        {
                                            SqlDataAdapter Projecten   = new SqlDataAdapter("SELECT Naam FROM Project WHERE StemmingsNaam = '" + Stemming + "'", sqlConnection);
                                            DataTable      dtprojecten = new DataTable();
                                            Projecten.Fill(dtprojecten);

                                            //Checkt of het project bestaat
                                            if (dtprojecten.Rows.Count > 0)
                                            {
                                                //Voor elk project
                                                foreach (DataRow projectrow in dtprojecten.Rows)
                                                {
                                                    //Check of de hash overeenkomt met 1 van de projecten uit de database van die stemming
                                                    if (HashGenereren.checkHash((string)projectrow["Naam"], HashGestemdOp))
                                                    {
                                                        //Voeg de projectnaam toe aan de GestemdOp lijst
                                                        GestemdOp.Add((string)projectrow["Naam"]);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                //Maakt de lijst leeg zodat bij een volgende stemming er geen problemen met duplicate hashes zijn.
                HashGebruikteCodes.Clear();
            }
        }
        //Sluit de connectie
        sqlConnection.Close();
    }
Ejemplo n.º 5
0
    protected void ImageButtonOkee_Click(object sender, EventArgs e)
    {
        DatabaseConnectie dbconnect     = new DatabaseConnectie();
        SqlConnection     sqlConnection = new SqlConnection(dbconnect.dbConnectie);

        //Haalt de stemming uit de URL en het telefoonnr uit de textbox
        string Stemming     = Request.QueryString["Stemming"];
        string Telnr        = txtbx_telnr.Text;
        bool   TelNietNieuw = false;

        Nummercontrole check       = new Nummercontrole();
        SqlCommand     AlleNummers = new SqlCommand("SELECT HashTelNr FROM UC", sqlConnection);

        sqlConnection.Open();
        SqlDataAdapter da = new SqlDataAdapter(AlleNummers);
        DataTable      dt = new DataTable();

        da.Fill(dt);
        //Voor elke opgeslagen hash van een telnr
        foreach (DataRow dr in dt.Rows)
        {
            //Checkt of het telefoonnr voorkomt in de database
            if (HashGenereren.checkHash(Telnr, dr["HashTelNr"].ToString()))
            {
                TelNietNieuw = true;
            }
        }
        //Als het nummer nog niet gehasht in de database staat
        if (TelNietNieuw == false)
        {
            //Checken of een telefoonnummer wel een geldig nummer is
            if (check.Nummercheck(Convert.ToString("06" + txtbx_telnr.Text)))
            {
                //Checkt of er nog unieke codes zijn voor de gekozen stemming
                SqlCommand NieuweCodeQuery = new SqlCommand("SELECT Top 1 UniekeCode FROM UC WHERE HashTelNr IS NULL AND StemmingsNaam ='" + Stemming + "';", sqlConnection);
                string     NieuweCode      = Convert.ToString(NieuweCodeQuery.ExecuteScalar());

                if (NieuweCode != "")
                {
                    //Hasht het telefoonnummer en verbindt het met een unieke code
                    Telnr = HashGenereren.Genereer(Telnr);
                    SqlCommand NummerToevoegen = new SqlCommand("UPDATE UC SET HashTelNr = '" + Telnr + "' WHERE UniekeCode = '" + NieuweCode + "';", sqlConnection);
                    NummerToevoegen.ExecuteNonQuery();
                    sqlConnection.Close();

                    //Vult gegevens in van het e-mailadres om mailtjes te sturen naar een e-mail adres
                    //Deze mailtjes worden omgezet naar een SMS'je door het bedrijf van dit e-mailadres
                    //Deze SMS'jes worden vervolgens verstuurd naar het telefoonnummer van de gebruiker
                    string      password   = "******";
                    MailMessage mail       = new MailMessage();
                    SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

                    //De e-mail wordt verstuurd vanaf dit g-mail account
                    mail.From = new MailAddress("*****@*****.**");
                    //Het telefoonnummer waar naar wordt verstuurd is het telefoonnummer in de tekstbox
                    //mail.To.Add("06" + txtbx_telnr.Text + "@sms.informaxion.nl");
                    mail.To.Add("*****@*****.**");
                    mail.Subject = "2410, Winnovation";
                    mail.Body    = "Hier is uw code voor Winnovation: http://5e226d69.ngrok.io/projectenoverzicht?Stemmer=" + NieuweCode;
                    //mail.Body = "Hier is uw code voor Winnovation: http://www.winnovationexpo.nl/projectenoverzicht?Stemmer=" + NieuweCode;
                    //mail.Body = "Hier is uw code voor Winnovation: localhost:50512/projectenoverzicht?Stemmer=" + NieuweCode;

                    SmtpServer.Port        = 587;
                    SmtpServer.Credentials = new System.Net.NetworkCredential("winnovationwindesheim", password);
                    SmtpServer.EnableSsl   = true;

                    SmtpServer.Send(mail);

                    lbl_Info.Visible = true;
                    lbl_Info.Text    = "Uw code is verzonden per SMS";
                    txtbx_telnr.Text = "";
                }
                else
                {
                    lbl_Info.Visible = true;
                    lbl_Info.Text    = "Geen stemcodes beschikbaar";
                    txtbx_telnr.Text = "";
                }
            }
            else
            {
                lbl_Info.Visible = true;
                lbl_Info.Text    = "Dit nummer is ongeldig";
                txtbx_telnr.Text = "";
            }
        }
        else
        {
            lbl_Info.Visible = true;
            lbl_Info.Text    = "Dit nummer is al gebruikt";
            txtbx_telnr.Text = "";
        }
    }