Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- #include <conio.h>
- #include <stdio.h>
- #include <time.h>
- using namespace std;
- #define PWD_LENGTH 12
- #define CAPS 2
- #define NUMS 2
- #define SPEC 2
- int main(int argc, char* argv[]) {
- char *consonants = "bdghklmnprstz";
- char *vocals = "aeiou";
- string pwd = "";
- int conslength = strlen(consonants);
- int vocslength = strlen(vocals);
- char vocal;
- char consonant;
- srand((unsigned)time(NULL));
- while (getch() != 27) {
- pwd = "";
- for (int i = 0; i < PWD_LENGTH / 2; i++) {
- consonant = consonants[rand() % conslength];
- pwd += consonant;
- vocal = vocals[rand() % vocslength];
- pwd += vocal;
- }
- cout << "step1: " << pwd << endl;
- for (int i = 0; i < CAPS; i++) {
- int n = rand() % pwd.length();
- if (pwd[n] >= 0x61)
- pwd[n] -= 0x20;
- else
- i--;
- }
- cout << "step2: " << pwd << endl;
- for (int i = 0; i < NUMS; i++) {
- for (int j = 0; j < pwd.length(); j++) {
- switch (pwd[j]) {
- case 'i' :
- pwd[j] = '1';
- j = pwd.length();
- break;
- case 'z' :
- pwd[j] = '7';
- j = pwd.length();
- break;
- case 's' :
- pwd[j] = '2';
- j = pwd.length();
- break;
- case 'b' :
- pwd[j] = '6';
- j = pwd.length();
- break;
- case 'o' :
- pwd[j] = '0';
- j = pwd.length();
- break;
- case 'g' :
- pwd[j] = '9';
- j = pwd.length();
- break;
- }
- }
- }
- cout << "step3: " << pwd << endl;
- for (int i = 0; i < SPEC; i++) {
- for (int j = 0; j < pwd.length(); j++) {
- switch (pwd[j]) {
- case 'i' :
- pwd[j] = '!';
- j = pwd.length();
- break;
- case 's' :
- pwd[j] = '$';
- j = pwd.length();
- break;
- case 'a' :
- pwd[j] = '@';
- j = pwd.length();
- break;
- case 'l' :
- pwd[j] = '|';
- j = pwd.length();
- break;
- }
- }
- }
- cout << "step4: " << pwd << endl << endl;
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement