生成密码本的算法_密码如何生成

生成密码本的算法_密码如何生成

编码文章call10242025-09-08 14:18:234A+A-

const int arraySize = '9' - '0' + 1 + 'Z' - 'A' + 1 + 'z' - 'a' + 1;

char* array = new char[arraySize];

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

{

array[i] = '0' + i;

}

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

{

array[i+10] = 'A' + i;

}

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

{

array[i + 36] = 'a' + i;

}

//62进制

vector<vector<char> > pwdVec;

for (int j = 0; j < arraySize; ++j)

{

char ch = array[j];


vector<char> vec;

vec.push_back(ch);

pwdVec.push_back(vec);

printPwd(vec);


}

for (int pwwdLength = 1; pwwdLength <= 10; ++pwwdLength)

{

//构建密码

for (int j = 0; j < arraySize; ++j)

{

char ch = array[j];

for (int k = 0; k < pwdVec.size(); ++k)

{

if (pwdVec[k].size() == pwwdLength - 1)

{

vector<char> vec = pwdVec[k];

vec.push_back(ch);

pwdVec.push_back(vec);

printPwd(vec);

}

}

}

//新的长度构建完

char szFileName[512] = {0};

sprintf(szFileName, "E:/svg/%d.txt", pwwdLength);

FILE* fp = fopen(szFileName, "w+");

if (fp)

{

for (int i = 0; i < pwdVec.size(); ++i)

{

vector<char> vec = pwdVec[i];

if (vec.size() == pwwdLength)

{

for (int k = 0; k < vec.size(); ++k)

{

fputc(vec[k], fp);

}

fputc('\n', fp);

}

}

fclose(fp);

}

}

FILE* fp = fopen("E:/svg/密码本.txt","w+");

if (fp)

{

for (int i = 0; i < pwdVec.size(); ++i)

{

vector<char> vec = pwdVec[i];

if (vec.size() >= 8)

{

for (int k = 0; k < vec.size(); ++k)

{

fputc(vec[k],fp);

}

fputc('\n',fp);

}

}

fclose(fp);

}

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4