Archief - [PROG][C++] C++ login

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

saiyan``

Legacy Member
Weet er iemand hoe ik een login-functie kan maken in c++? Ik zou dit goed kunnen gebruiken voor mijn project.

Ik heb dus een functie nodig die vraagt naar de username en het passwoord. Alleen de administrator kan users aanmaken/registreren. De login-gegevens worden vervolgens weggeschreven naar een text file.

Dank bij voorbaat,

Tyfius

Legacy Member
Vrij eenvoudig, gewoon text inlezen uit een tekst file en vergelijken met de input die de gebruiker geeft. Een for loopje gebruiken om alle mogelijkheden in de tekst file te overlopen.

Ik ga er van uit dat je met C++ kan werken en dus basic file en user input operations kan uitvoeren.

Of begrijp ik het verkeerd?

Cycloon

Legacy Member
Hmm is een txt file niet wat makkelijk te achterhalen? Iedereen kan er zomaar extra logins e.d. toevoegen zonder probleem. Geen idee hoe je dit wil beveiligen enkel met een txt file, tenzij het natuurlijk ook over een netwerkprogramma ofzoiets gaat (maar aan de vraagstelling te zien niet echt...).

Tyfius

Legacy Member
Ik denk dat het eerder voor een school project is, en dan is een tekst file niet echt een probleem. Als we echt over een grote applicatie zouden spreken dan is het inderdaad beter om er een database achter te steken, maar dan zou de thread starter die vraag volgens mij niet stellen. :)

stewie4ever

Legacy Member
Cyc1oon zei:
Hmm is een txt file niet wat makkelijk te achterhalen? Iedereen kan er zomaar extra logins e.d. toevoegen zonder probleem. Geen idee hoe je dit wil beveiligen enkel met een txt file, tenzij het natuurlijk ook over een netwerkprogramma ofzoiets gaat (maar aan de vraagstelling te zien niet echt...).

Da maakt ni echt veel uit he. Slaagt het paswoord gewoon op als een md5 of sha-1 hash en laat bij het inloggen de hashen vergelijken in plaats van de plain text. Zo werken de meeste inlog systemen.

killgore

Legacy Member
Tyfius zei:
Ik denk dat het eerder voor een school project is, en dan is een tekst file niet echt een probleem. Als we echt over een grote applicatie zouden spreken dan is het inderdaad beter om er een database achter te steken, maar dan zou de thread starter die vraag volgens mij niet stellen. :)

heh, het is niet alsof standaard beveiliging zo moeilijk is eigenlijk. Voor een schoolprojectje nu hashen we onze bestandsnamen met md5 zodat je niet kan zien wat van wie is en alles wordt in AES opgeslagen (pech als je je pw niet meer weet).

Is in java welgeteld 10 regels extra code aan de save en load klasses :-). In C++ zal je ook wel met nodige libs zoiets kunnen maken.

Cycloon

Legacy Member
stewie4ever zei:
Da maakt ni echt veel uit he. Slaagt het paswoord gewoon op als een md5 of sha-1 hash en laat bij het inloggen de hashen vergelijken in plaats van de plain text. Zo werken de meeste inlog systemen.

Om toch nog maar ff te reageren, wat helpen md5 hashes tegen logins toevoegen? :ironic:

Je kan mss wel zelf een eigen hash methode maken die je niet bekend maakt, mja blijft nogal crap natuurlijk :)

[BAT] Hydra

Legacy Member
Cyc1oon zei:
Om toch nog maar ff te reageren, wat helpen md5 hashes tegen logins toevoegen? :ironic:

Je kan mss wel zelf een eigen hash methode maken die je niet bekend maakt, mja blijft nogal crap natuurlijk :)

Waarom zou je je eigen hash methode maken? Dat is niet zo simpel en bovendien niet nodig...

Cycloon

Legacy Member
[BAT] Hydra;10033592 zei:
Waarom zou je je eigen hash methode maken? Dat is niet zo simpel en bovendien niet nodig...

Wel, zeg eens hoe jij zelf toevoegen wil tegen gaan in een txt bestandje dan?

Bavo aka Joske

Legacy Member
encrypten met een sleutel?

Jasypt kan dat bvb makkelijk

Tyfius

Legacy Member
Het is een friggin oude thread en voor een schoolopdracht. Who cares dat ge ff rap in een .txtke zelf items kunt toevoegen.

Cycloon

Legacy Member
Tyfius zei:
Het is een friggin oude thread en voor een schoolopdracht. Who cares dat ge ff rap in een .txtke zelf items kunt toevoegen.

Ja #care, dat maakt de discussie daarom niet minder intressant.

Shotterke

Legacy Member
Code:
public partial class Login : Form
    {
        RegistryKey regKeyAppRoot = Registry.CurrentUser.CreateSubKey("MDIForm"); 

        public Login()
        {
            InitializeComponent();
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            //tellen hoeveel gebruikers er zijn met de ingevoerde gebruikersnaam
            //en het ingevoerde paswoord
            int aantal = (int)Variabelen.db.GetValue("Select count(*) from "+
                "tblGebruikers where gebruikersnaam='" + 
                txtNaam.Text + "' and paswoord='" + txtPWD.Text + "'");
            Variabelen.gebruiker.Naam = txtNaam.Text;
            //de gegevens naar het register schrijven
            regKeyAppRoot.SetValue("user", txtNaam.Text);
            regKeyAppRoot.SetValue("pwd", txtPWD.Text);

            //wanneer er minstens 1 gebruiker is met die gebruikersnaam en
            //paswoord dan bestaat deze en heeft deze toegang tot het programma
            if (aantal > 0)
            {
                //nu gaan we zijn niveau bepalen en als die groter is
                //dan 1 dan heeft deze gebruiker administratierechten
                Variabelen.gebruiker.Niveau=(int)Variabelen.db.GetValue("Select niveau "+
                    "from tblGebruikers where gebruikersnaam='" + txtNaam.Text + 
                    "' and paswoord='" + txtPWD.Text + "'");
                Variabelen.gebruiker.Niveau = (int)Variabelen.db.GetValue("Select idGebruiker " +
                    "from tblGebruikers where gebruikersnaam='" + txtNaam.Text +
                    "' and paswoord='" + txtPWD.Text + "'");
                this.Close();
            }
            else Application.Exit();
        }

        private void Login_Load(object sender, EventArgs e)
        {
            try
            {
                //de waarden uit het register naar de bijhorende tekstvelden
                //schrijven
                txtNaam.Text = regKeyAppRoot.GetValue("user").ToString();
                txtPWD.Text = regKeyAppRoot.GetValue("pwd").ToString();
            }
            catch { }
        }

        private void btnAfsluiten_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }

Op deze manier hebben we op een school een inlog scherm gemaakt dmv de gegevens uit een database te halen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan