...
[9413project001.git] / Decrypt / Decrypt / genpwd.cpp
blob4f5a7efe742dfc87f4155a9779f769831036cbe4
1 #include <stdio.h>
2 #include <string.h>
4 const char ch[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
6 char(*genpwd())[16]
8 // length of password
9 static int length = 5;
11 static char (*arrpwd)[16] = NULL;
12 static int arrindex[15] = {0};
13 arrindex[length-1] = -1;
15 if(arrpwd == NULL) {
16 arrpwd = new char[100000][16];
17 memset(arrpwd,0,100000*16);
18 } else {
19 memset(arrpwd,0,100000*16);
22 int chlen = strlen(ch);
23 static int breakflg = 0;
25 if(breakflg==1) {
26 delete[] arrpwd;
27 return NULL;
30 for(int cur=0;cur<100000 && breakflg==0;cur++) {
31 for(;;){
32 if (breakflg) goto RETURN;
33 //add
34 for(int i=length-1,plus=1;i>=0;i--) {
35 if(plus==1) {
36 if(++arrindex[i] == chlen) {
37 arrindex[i] = 0;
38 if (i==0) breakflg=1;
39 } else {
40 break;
44 //check
45 int upperflag = 0, numflag = 0;
46 for(int i=1;i<length;i++) {
47 if(arrindex[i]>=26 && arrindex[i]<=51) upperflag = 1;
48 if(arrindex[i]>=52 && arrindex[i]<=61) numflag = 1;
50 if(upperflag && numflag) break;
54 //output
55 for(int i=length-1,plus=1;i>=0;i--) {
56 arrpwd[cur][i] = ch[arrindex[i]];
58 arrpwd[cur][length] = '\0';
60 RETURN:
61 return arrpwd;