这是Ubuntu 10.04.1 上C 代码(用 编译gcc -O2 -lcrypt
)的快速尝试
#define _XOPEN_SOURCE
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
void inc(char *p)
{
int i;
for (i=0 ; i<8 && p[i]=='z' ; i++);
if (i >= 8) exit(printf("Not found :-(\n"));
if (!p[i]) p[i]='a';
else p[i]++;
while (--i >= 0) p[i]='a';
}
int main ()
{
char *salt = "XY";
char *buzz = "XYaAbBcCZ0123";
char pass[] = { 'a',0,0,0,0,0,0,0,0 };
while(1)
if ( ! strcmp(crypt(pass, salt), buzz))
exit(printf("Found %s :-)\n", pass));
else
inc(pass);
}
该代码应该在一两天内(2.10^11 组合)在现在的PC 上运行,您可以在多台机器上运行它,一个从“a”到“gzzzzzzz”,另一个从“haaaaaaa”到“nzzzzzzz”等。 .. 例如。