生成密码本的算法_密码如何生成
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);
}
相关文章
- Spring Boot中对接Twilio以实现发送验证码和验证短信码
- Spring Boot 3.5:这次更新让你连配置都不用写了,惊不惊喜?
- Spring Boot+Pinot实战:毫秒级实时竞价系统构建
- SpringBoot敏感配置项加密与解密实战
- SpringBoot 注解最全详解,建议收藏!
- Spring Boot 常用注解大全:从入门到进阶
- SpringBoot启动之谜:@SpringBootApplication如何让配置化繁为简
- Springboot集成Kafka原理_spring集成kafka的原理
- Spring Boot中@Data注解的深度解析与实战应用
- 大佬用1000字就把SpringBoot的配置文件讲的明明白白!
