Random PW Generator
main.cpp
- Committer:
- stefanblack
- Date:
- 2020-05-03
- Revision:
- 0:4b30ded991e6
File content as of revision 0:4b30ded991e6:
/* C++ Kurs 6ABELI SM Aufgabe 3 Übung NR 74 -- Passwortgenerator Stefan Schwarz Übung Nr.74: Erstelle ein Programm/Funktion welche/s ein zufälliges Passwort erzeugt. Als Parameter soll die Länge sowie die Art der darin vorkommenden Zeichen übergeben werden können. Zur Auswahl sollen stehen: Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen. Jede beliebige Kombination der Parameter soll möglich sein. */ #include <algorithm> #include <stdio.h> #include <iostream> #include <cstdlib> #include <ctime> using namespace std; // function generates new password based on given parameters string genpw(int lengh, string number, string smallletter, string bigletter, string signs); int main() { int lengh; string numbers; string smallletter; string bigletter; string signs; //setting parameters via Console cout<<" Wilkommen im Passwortgenerator !"<< endl << endl; again: cout << "Wie lange soll das Passwort sein? " ; cin >> lengh; cout << "Ziffern? J/N "; cin.get(); cin >> numbers; cin.get(); cout << "Kleinbuschstaben? J/N " ; cin >> smallletter; cout << "Großbuschstaben? J/N " ; cin >> bigletter; cout << "Sonderzeichen? J/N " ; cin >> signs; // check if theres at least one chosen parameter if(numbers!="J" && smallletter!="J" && bigletter!="J" && signs!="J") { cout << "Min 1 Parameter muss gewählt werden! Bitte erneute Eingabe:"<<endl; goto again; } //print newly generated password cout << endl << genpw(lengh,numbers,smallletter,bigletter,signs); } // genpw function generates new password based on given parameters string genpw(int lengh, string number, string smallletter, string bigletter, string signs ){ string newpw = ""; string coderes = ""; string numb = "123456789"; string slbs = "abcdefghijklmnopqrstuvwxyz"; string blbs = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string sgn = "@!§$%&/()=?*':;"; if (number == "J") coderes += numb; if (smallletter == "J") coderes += slbs; if (bigletter == "J") coderes += blbs; if (signs == "J") coderes += sgn; srand(time(0)); for (unsigned int i = 0; i < lengh; i++) { random_shuffle(coderes.begin(), coderes.end()); //shuffeling available characters in addition to randomly picked ones int sizeres= sizeof(coderes); // newpw+=coderes[rand()% sizeres]; //building newpw string randomly } return "Das generierte Passwort lautet: "+ newpw; }