Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leute!

Ich würde gerne in C++ einen Passwortgenerator programmieren. Nun meine Frage kann mir jemand dabei helfen bzw. gibt es irgendwo ein Tutorial oder dergleichen wo mir helfen könnte? Ich habe bisher keines gefunden.

Würde mich über Hilfe freuen! :)

Bin nicht wirklich ein C++ Könner *gg* :marine

Geschrieben
Original geschrieben von Guybrush Threepwood

Was genau meinst du denn mit einem Passwortgenerator?

Soll der Benutzer sagen können er will ein 10 stelliges Passwort und dein Programm generiert ein solches zufälliges?

Gruß

Guybrush

Also ich hab ein Editfeld das ich einlese und darin ist die Stellenanzahl des Passwortes. Zusätzlich hab ich noch eine Checkbox wenn diese checked ist soll er auch Sonderzeichen mit in die Generierung nehmen.

Dann soll er im Edit1 ein Passwort ausgeben das Groß/Kleinschreibung hat und wenn checked Sonderzeichen... Ich wollte dann mit sprintf es einfach nach der Stellenangabe abschneiden aber wie generiere ich nun so ein Passwort??? Hmm

Geschrieben

Naja im Prinzip musst du doch nur eine Schleife laufen lassen die solange wie das Passwort lang sein soll, eine Zufallszahl im Bereich der Erlaubten Ascii Zeichen ('a'-'z','A'-'Z','0'-'9', und halt die Sonderzeichen) erstellt und an ein char Array anfügt.

Wie du Zufallszahlen erzeugst findest du hier im Forum über die Suche und dann kannst du ja mal ein bischen probieren und wenn Probleme auftreten helfen wir dir weiter.:)

Geschrieben
Original geschrieben von Guybrush Threepwood

Naja im Prinzip musst du doch nur eine Schleife laufen lassen die solange wie das Passwort lang sein soll, eine Zufallszahl im Bereich der Erlaubten Ascii Zeichen ('a'-'z','A'-'Z','0'-'9', und halt die Sonderzeichen) erstellt und an ein char Array anfügt.

Wie du Zufallszahlen erzeugst findest du hier im Forum über die Suche und dann kannst du ja mal ein bischen probieren und wenn Probleme auftreten helfen wir dir weiter.:)

hmm nunja also ich hab nun bisher folgendes:

int test;


int stellen = StrToInt(Edit2->Text);


test = random(100000);


Edit1->Text = test;
nun gibt er mir immer eine randomzahl von dem wert in test aus aber wie bekomme ich ein randomwert von buchstaben und wie hänge ich das ganze dann an einen array? pls help bin da total n00b :) EDIT: also ich habs nun so:

int zufall;

int i;


int stellen = StrToInt(Edit2->Text);


for (int i=0; i<stellen; i++)

{

zufall = random(9);


}


Edit1->Text = test;

nun muss ich halt auch noch wissen wie ich die zufall immer anhänge an ein array... und wie ich das dann noch mit den buchstaben hinbekomme hmm das muss ich wohl mit ascii machen oder wie hmmpf

Geschrieben

Hallo,

das von Dir gepostete Stück Quellcode erzeugt identische Passworte bei jedem Programmaufruf. "random()" basiert auf einem Pseudozufallszahlen-Algorithmus, der bei identischer (oder ohne) Initialisierung auch identische "Zufallszahlen" generiert. Du solltest den Generator auf alle Fälle entsprechend initialisieren (einfachste, aber nicht beste Methode wäre mit "srand(time(NULL); aber auch hier wird bei mehrmaligem Aufruf des Programms innerhalb einer Sekunde das gleiche PW generiert)".

Es gibt allerdings schon diverse Software, die entsprechende Passworte generiert:

http://www.adel.nursat.kz/apg/

http://linuxhelpers.virtualave.net/spg/index.html

Die "cracklib" bringt - soweit ich mich erinnern kann - ebenfalls mit einem passenden Tool.

Nic

Geschrieben

hmm ich bräuchte aber einen für windows... hmm und würde den auch gerne selber irgendwie zusammen bringen aber momentan bringt der generator noch garnix...

ich bring das net zusammen *sniff* mensch das muss doch gehn...

  • 2 Wochen später...
Geschrieben

Hi,

ich hab mal ein kleines Programm zusammengetippt, was nicht die selben Passwörter generiert, aufgrund der fehlenden Initialisierung.


#include <iostream.h>

#include <conio.h>

#include <stdlib.h>


void main (void)

{

 int i, k, l,;

 cout << "Bitte geben Sie die gewuenschte Passwortlaenge ein: ";

 cin >> i;

 cout << "\nIhr neues Passwort: ";

 randomize();

 for (k=0;k<i;k++)

 {

  l = random(89) + 33;

  cout << char(l);

 }

 getch();

}

Vielleicht nicht die eleganteste Methode, aber sie funktioniert zumindest. ;)

Das Programm mit einer Abfrage auf Sonderzeichen zu versehen und bestimmte Sonderzeichen ausschliessen, die nicht benutzt werden sollen, sollte kein Problem sein.

mfg

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...