穷举密码算法

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

//*******************************************************************

//在许多情况下我们需要穷举组合的算法,比如密码词典。

//我在程序员大本营上不止一次看到有人需要穷举密码的算法,就写了一个。

//这个算法的关键是密码下标进位的问题。

//另外本例子中的写文件语句效率比较低,为了降低算法复杂度没有优化。

//如果要提高写文件的效率,可以使用缓冲区,分批写入。

//*********************************************BREATH.CNPICK.COM*****

void CreatePassword()

{

#define PassWordMax8//将生成密码的最大长度

char a[]="0123456789abcdefghijklmnopqrstuvwxyz";//可能的字符

long nDictCount=sizeof(a);//获得密码词典长度

char cPass[PassWordMax+2];//将生成的密码

long nMinL=1,nMaxL=3;//本例中密码长度从1-3

long Array[PassWordMax];//密码词典下标

ASSERT(nMinL=0;j--)//密码指针进位

{

Array[j]++;

if(Array[j]!=nDictCount-1)break;

else

{

Array[j]=0;

if(j==0)bNext=FALSE;

}

}

}

nLength++;

}

file.Close();

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航