论坛: 编程破解 标题: 请教--关于字典程序 复制本贴地址    
作者: seawman [yht1987]    论坛用户   登录
    学了一段时间的C,感觉除了会一点基本语法外再没什么收获,想用自己仅会的一点东西写一点简单的东西,就学别人写了个字典生成器。可是写完后感
觉自己的程序算法老土效率低劣,很想改进一下,可是自己又再想不出什么好的方法,想请各位高手指点小弟一下,小弟在这里先行谢过。


#include "stdio.h"
#include "stdlib.h"
#include "string.h"

void one(FILE *fp,char zm[],int n)
{
int i;
for (i=0;i<n;i++)
fprintf(fp,"%c\n",zm[i]);
}
void two(FILE *fp,char zm[],int n)
{
int i,j;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
fprintf(fp,"%c%c\n",zm[i],zm[j]);
}
void three(FILE *fp,char zm[],int n)
{
int i,j,k;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
for (k=0;k<n;k++)
fprintf(fp,"%c%c%c\n",zm[i],zm[j],zm[k]);
}
void four(FILE *fp,char zm[],int n)
{
int a[4];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
fprintf(fp,"%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]]);
}
void five(FILE *fp,char zm[],int n)
{
int a[5];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
fprintf(fp,"%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]]);
}
void six(FILE *fp,char zm[],int n)
{
int a[6];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
fprintf(fp,"%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]]);
}
void seven(FILE *fp,char zm[],int n)
{
int a[7];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
fprintf(fp,"%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]]);
}
void eight(FILE *fp,char zm[],int n)
{
int a[8];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
for (a[7]=0;a[7]<n;a[7]++)
fprintf(fp,"%c%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]],zm[a[7]]);
}
void nine(FILE *fp,char zm[],int n)
{
int a[9];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
for (a[7]=0;a[7]<n;a[7]++)
for (a[8]=0;a[8]<n;a[8]++)
fprintf(fp,"%c%c%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]],zm[a[7]],zm[a[8]]);
}
void ten(FILE *fp,char zm[],int n)
{
int a[10];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
for (a[7]=0;a[7]<n;a[7]++)
for (a[8]=0;a[8]<n;a[8]++)
for (a[9]=0;a[9]<n;a[9]++)
fprintf(fp,"%c%c%c%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]],zm[a[7]],zm[a[8]],zm[a[9]]);
}
void eleven(FILE *fp,char zm[],int n)
{
int a[11];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
for (a[7]=0;a[7]<n;a[7]++)
for (a[8]=0;a[8]<n;a[8]++)
for (a[9]=0;a[9]<n;a[9]++)
for (a[10]=0;a[10]<n;a[10]++)
fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]],zm[a[7]],zm[a[8]],zm[a[9]],zm[a[10]]);
}
void twelve(FILE *fp,char zm[],int n)
{
int a[12];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
for (a[7]=0;a[7]<n;a[7]++)
for (a[8]=0;a[8]<n;a[8]++)
for (a[9]=0;a[9]<n;a[9]++)
for (a[10]=0;a[10]<n;a[10]++)
for (a[11]=0;a[11]<n;a[11]++)
fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]],zm[a[7]],zm[a[8]],zm[a[9]],zm[a[10]],zm[a[11]]);
}
void thirteen(FILE *fp,char zm[],int n)
{
int a[13];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
for (a[7]=0;a[7]<n;a[7]++)
for (a[8]=0;a[8]<n;a[8]++)
for (a[9]=0;a[9]<n;a[9]++)
for (a[10]=0;a[10]<n;a[10]++)
for (a[11]=0;a[11]<n;a[11]++)
for (a[12]=0;a[12]<n;a[12]++)
fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]],zm[a[7]],zm[a[8]],zm[a[9]],zm[a[10]],zm[a[11]],zm[a[12]]);
}
void fourteen(FILE *fp,char zm[],int n)
{
int a[14];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
for (a[7]=0;a[7]<n;a[7]++)
for (a[8]=0;a[8]<n;a[8]++)
for (a[9]=0;a[9]<n;a[9]++)
for (a[10]=0;a[10]<n;a[10]++)
for (a[11]=0;a[11]<n;a[11]++)
for (a[12]=0;a[12]<n;a[12]++)
for (a[13]=0;a[13]<n;a[13]++)
fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]],zm[a[7]],zm[a[8]],zm[a[9]],zm[a[10]],zm[a[11]],zm[a[12]],zm[a[13]]);
}
void fifteen(FILE *fp,char zm[],int n)
{
int a[15];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
for (a[7]=0;a[7]<n;a[7]++)
for (a[8]=0;a[8]<n;a[8]++)
for (a[9]=0;a[9]<n;a[9]++)
for (a[10]=0;a[10]<n;a[10]++)
for (a[11]=0;a[11]<n;a[11]++)
for (a[12]=0;a[12]<n;a[12]++)
for (a[13]=0;a[13]<n;a[13]++)
for (a[14]=0;a[14]<n;a[14]++)
fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]],zm[a[7]],zm[a[8]],zm[a[9]],zm[a[10]],zm[a[11]],zm[a[12]],zm[a[13]],zm[a[14]]);
}
void sixteen(FILE *fp,char zm[],int n)
{

int a[16];
for (a[0]=0;a[0]<n;a[0]++)
for (a[1]=0;a[1]<n;a[1]++)
for (a[2]=0;a[2]<n;a[2]++)
for (a[3]=0;a[3]<n;a[3]++)
for (a[4]=0;a[4]<n;a[4]++)
for (a[5]=0;a[5]<n;a[5]++)
for (a[6]=0;a[6]<n;a[6]++)
for (a[7]=0;a[7]<n;a[7]++)
for (a[8]=0;a[8]<n;a[8]++)
for (a[9]=0;a[9]<n;a[9]++)
for (a[10]=0;a[10]<n;a[10]++)
for (a[11]=0;a[11]<n;a[11]++)
for (a[12]=0;a[12]<n;a[12]++)
for (a[13]=0;a[13]<n;a[13]++)
for (a[14]=0;a[14]<n;a[14]++)
for (a[15]=0;a[15]<n;a[15]++)
fprintf(fp,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",zm[a[0]],zm[a[1]],zm[a[2]],zm[a[3]],zm[a[4]],zm[a[5]],zm[a[6]],zm[a[7]],zm[a[8]],zm[a[9]],zm[a[10]],zm[a[11]],zm[a[12]],zm[a[13]],zm[a[14]],zm[a[15]]);
}

void usage()
{
printf("********************************************************************************");
printf("Copyright (C) Scan.Worm 2004.8.2\n");
printf("usage:makepw filename PasswordType[n,s,b,ns,nb,sb,nsb] PasswordNumber[1-16]\n");
printf("  n 生成纯数字密码\n");
printf("  s 生成纯英文小写字母密码\n");
printf("  b 生成纯英文大写字母密码\n");
printf("  ns 生成数字与英文小写字母混合密码\n");
printf("  nb 生成数字与英文大写字母混合密码\n");
printf("  sb 生成英文大写与小写字母混合密码\n");
printf("  nsb 生成数字,英文大写字母与英文小写字母的混合密码\n");
printf("  PasswordNumber 密码的位数\n");
printf("  filename 要生成的密码文件\n");
printf("********************************************************************************");
exit(1);
}

void main(int argc,char *argv[])
{
if (argc!=4)usage();
FILE *fp;
char number[10]={'0','1','2','3','4','5','6','7','8','9'};
char small[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char big[26]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
char ns[36]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char nb[36]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
char sb[52]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
char nsb[62]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
fp=fopen(argv[1],"w");
if (strcmp(argv[2],"n")==0)
{
if (strcmp(argv[3],"1")==0)one(fp,number,10);
else if (strcmp(argv[3],"2")==0)two(fp,number,10);
else if (strcmp(argv[3],"3")==0)three(fp,number,10);
else if (strcmp(argv[3],"4")==0)four(fp,number,10);
else if (strcmp(argv[3],"5")==0)five(fp,number,10);
else if (strcmp(argv[3],"6")==0)six(fp,number,10);
else if (strcmp(argv[3],"7")==0)seven(fp,number,10);
else if (strcmp(argv[3],"8")==0)eight(fp,number,10);
else if (strcmp(argv[3],"9")==0)nine(fp,number,10);
else if (strcmp(argv[3],"10")==0)ten(fp,number,10);
else if (strcmp(argv[3],"11")==0)eleven(fp,number,10);
else if (strcmp(argv[3],"12")==0)twelve(fp,number,10);
else if (strcmp(argv[3],"13")==0)thirteen(fp,number,10);
else if (strcmp(argv[3],"14")==0)fourteen(fp,number,10);
else if (strcmp(argv[3],"15")==0)fifteen(fp,number,10);
else if (strcmp(argv[3],"16")==0)sixteen(fp,number,10);
else usage();
}
else if (strcmp(argv[2],"b")==0)
{
if (strcmp(argv[3],"1")==0)one(fp,big,26);
else if (strcmp(argv[3],"2")==0)two(fp,big,26);
else if (strcmp(argv[3],"3")==0)three(fp,big,26);
else if (strcmp(argv[3],"4")==0)four(fp,big,26);
else if (strcmp(argv[3],"5")==0)five(fp,big,26);
else if (strcmp(argv[3],"6")==0)six(fp,big,26);
else if (strcmp(argv[3],"7")==0)seven(fp,big,26);
else if (strcmp(argv[3],"8")==0)eight(fp,big,26);
else if (strcmp(argv[3],"9")==0)nine(fp,big,26);
else if (strcmp(argv[3],"10")==0)ten(fp,big,26);
else if (strcmp(argv[3],"11")==0)eleven(fp,big,26);
else if (strcmp(argv[3],"12")==0)twelve(fp,big,26);
else if (strcmp(argv[3],"13")==0)thirteen(fp,big,26);
else if (strcmp(argv[3],"14")==0)fourteen(fp,big,26);
else if (strcmp(argv[3],"15")==0)fifteen(fp,big,26);
else if (strcmp(argv[3],"16")==0)sixteen(fp,big,26);
else usage();
}
else if (strcmp(argv[2],"s")==0)
{
if (strcmp(argv[3],"1")==0)one(fp,small,26);
else if (strcmp(argv[3],"2")==0)two(fp,small,26);
else if (strcmp(argv[3],"3")==0)three(fp,small,26);
else if (strcmp(argv[3],"4")==0)four(fp,small,26);
else if (strcmp(argv[3],"5")==0)five(fp,small,26);
else if (strcmp(argv[3],"6")==0)six(fp,small,26);
else if (strcmp(argv[3],"7")==0)seven(fp,small,26);
else if (strcmp(argv[3],"8")==0)eight(fp,small,26);
else if (strcmp(argv[3],"9")==0)nine(fp,small,26);
else if (strcmp(argv[3],"10")==0)ten(fp,small,26);
else if (strcmp(argv[3],"11")==0)eleven(fp,small,26);
else if (strcmp(argv[3],"12")==0)twelve(fp,small,26);
else if (strcmp(argv[3],"13")==0)thirteen(fp,small,26);
else if (strcmp(argv[3],"14")==0)fourteen(fp,small,26);
else if (strcmp(argv[3],"15")==0)fifteen(fp,small,26);
else if (strcmp(argv[3],"16")==0)sixteen(fp,small,26);
else usage();
}
else if (strcmp(argv[2],"ns")==0)
{
if (strcmp(argv[3],"1")==0)one(fp,ns,36);
else if (strcmp(argv[3],"2")==0)two(fp,ns,36);
else if (strcmp(argv[3],"3")==0)three(fp,ns,36);
else if (strcmp(argv[3],"4")==0)four(fp,ns,36);
else if (strcmp(argv[3],"5")==0)five(fp,ns,36);
else if (strcmp(argv[3],"6")==0)six(fp,ns,36);
else if (strcmp(argv[3],"7")==0)seven(fp,ns,36);
else if (strcmp(argv[3],"8")==0)eight(fp,ns,36);
else if (strcmp(argv[3],"9")==0)nine(fp,ns,36);
else if (strcmp(argv[3],"10")==0)ten(fp,ns,36);
else if (strcmp(argv[3],"11")==0)eleven(fp,ns,36);
else if (strcmp(argv[3],"12")==0)twelve(fp,ns,36);
else if (strcmp(argv[3],"13")==0)thirteen(fp,ns,36);
else if (strcmp(argv[3],"14")==0)fourteen(fp,ns,36);
else if (strcmp(argv[3],"15")==0)fifteen(fp,ns,36);
else if (strcmp(argv[3],"16")==0)sixteen(fp,ns,36);
else usage();
}
else if (strcmp(argv[2],"nb")==0)
{
if (strcmp(argv[3],"1")==0)one(fp,nb,36);
else if (strcmp(argv[3],"2")==0)two(fp,nb,36);
else if (strcmp(argv[3],"3")==0)three(fp,nb,36);
else if (strcmp(argv[3],"4")==0)four(fp,nb,36);
else if (strcmp(argv[3],"5")==0)five(fp,nb,36);
else if (strcmp(argv[3],"6")==0)six(fp,nb,36);
else if (strcmp(argv[3],"7")==0)seven(fp,nb,36);
else if (strcmp(argv[3],"8")==0)eight(fp,nb,36);
else if (strcmp(argv[3],"9")==0)nine(fp,nb,36);
else if (strcmp(argv[3],"10")==0)ten(fp,nb,36);
else if (strcmp(argv[3],"11")==0)eleven(fp,nb,36);
else if (strcmp(argv[3],"12")==0)twelve(fp,nb,36);
else if (strcmp(argv[3],"13")==0)thirteen(fp,nb,36);
else if (strcmp(argv[3],"14")==0)fourteen(fp,nb,36);
else if (strcmp(argv[3],"15")==0)fifteen(fp,nb,36);
else if (strcmp(argv[3],"16")==0)sixteen(fp,nb,36);
else usage();
}
else if (strcmp(argv[2],"sb")==0)
{
if (strcmp(argv[3],"1")==0)one(fp,sb,52);
else if (strcmp(argv[3],"2")==0)two(fp,sb,52);
else if (strcmp(argv[3],"3")==0)three(fp,sb,52);
else if (strcmp(argv[3],"4")==0)four(fp,sb,52);
else if (strcmp(argv[3],"5")==0)five(fp,sb,52);
else if (strcmp(argv[3],"6")==0)six(fp,sb,52);
else if (strcmp(argv[3],"7")==0)seven(fp,sb,52);
else if (strcmp(argv[3],"8")==0)eight(fp,sb,52);
else if (strcmp(argv[3],"9")==0)nine(fp,sb,52);
else if (strcmp(argv[3],"10")==0)ten(fp,sb,52);
else if (strcmp(argv[3],"11")==0)eleven(fp,sb,52);
else if (strcmp(argv[3],"12")==0)twelve(fp,sb,52);
else if (strcmp(argv[3],"13")==0)thirteen(fp,sb,52);
else if (strcmp(argv[3],"14")==0)fourteen(fp,sb,52);
else if (strcmp(argv[3],"15")==0)fifteen(fp,sb,52);
else if (strcmp(argv[3],"16")==0)sixteen(fp,sb,52);
else usage();
}
else if (strcmp(argv[2],"nsb")==0)
{
if (strcmp(argv[3],"1")==0)one(fp,nsb,62);
else if (strcmp(argv[3],"2")==0)two(fp,nsb,62);
else if (strcmp(argv[3],"3")==0)three(fp,nsb,62);
else if (strcmp(argv[3],"4")==0)four(fp,nsb,62);
else if (strcmp(argv[3],"5")==0)five(fp,nsb,62);
else if (strcmp(argv[3],"6")==0)six(fp,nsb,62);
else if (strcmp(argv[3],"7")==0)seven(fp,nsb,62);
else if (strcmp(argv[3],"8")==0)eight(fp,nsb,62);
else if (strcmp(argv[3],"9")==0)nine(fp,nsb,62);
else if (strcmp(argv[3],"10")==0)ten(fp,nsb,62);
else if (strcmp(argv[3],"11")==0)eleven(fp,nsb,62);
else if (strcmp(argv[3],"12")==0)twelve(fp,nsb,62);
else if (strcmp(argv[3],"13")==0)thirteen(fp,nsb,62);
else if (strcmp(argv[3],"14")==0)fourteen(fp,nsb,62);
else if (strcmp(argv[3],"15")==0)fifteen(fp,nsb,62);
else if (strcmp(argv[3],"16")==0)sixteen(fp,nsb,62);
else usage();
}
else usage();
fclose(fp);
exit(1);
}


这个程序最多只能生成16位的密码,要再多就要加代码,请问如何让用户自己指定生成密码密码的位数,而没有上限。再就是这个程序生成大于8位的密码字
典时就会很慢,求赐更高效率的算法。

谢谢。



[此贴被 seawman(yht1987) 在 04月21日09时53分 编辑过]

地主 发表时间: 05-04-21 04:53

回复: wxngzybb [wxngzybb]   论坛用户   登录
字典的算法很多.你写的很不错的.把他保存在那里吧,往后当学到更多方法后再回来看看这些自己的"里程碑"似的程序,你会有很多感触的.
使用malloc等动态分配内存的函数可以有办法得到任意位的密码.使用字符的七位ascii码可以很简化程序

B1层 发表时间: 05-04-21 23:26

回复: 286 [unique]   版主   登录
一般来说,这种通过穷举法创建的字典,如果超过16位,其个数将非常非常大,使用时间将非常非常长。所以我感觉,十六位也就够了。

另外,你的程序大部分都可优化。函数部分可以合并。

B2层 发表时间: 05-04-22 09:20

回复: jly [jly]   论坛用户   登录
太烦琐一些,回头给你传个简洁点的

B3层 发表时间: 05-04-28 08:44

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号