安全|问题
                         php代码:--------------------------------------------------------------------------------
$srand = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789';
$length = strlen($srand);
if (!($dir = @opendir(/dic))) {
    mkdir (dic, 0777);
}
for ($q=0; $q    if ($q > 25 && $q         $op = 'cap';
    } else {
        $op = '';
    }
    $fp = fopen(./dic/.$op.$srand[$q]..txt, w);
    $crack = $srand[$q];
    fputs($fp, $crack.|.md5($crack).\n);
    for ($m=0; $m        $crack = $srand[$q].$srand[$m];
        fputs($fp, $crack.|.md5($crack).\n);
        for ($l=0; $l            $crack = $srand[$q].$srand[$m].$srand[$l];
            fputs($fp, $crack.|.md5($crack).\n);
            for ($o=0; $o                $crack = $srand[$q].$srand[$m].$srand[$l].$srand[$o];
                fputs($fp, $crack.|.md5($crack).\n);
            }
        }
    }
    fclose($fp);
}
--------------------------------------------------------------------------------
需要注意地是,这只是一个例子,为了简单期间,我们锁定密码字元为26个小写字母,26个大写字母,10个数字(相信应该适合大多数密码了,不知哪位bt朋友加标点符号呢?呵呵……),而我们只测试四位以内地密码,密码位数增多时原理相同,只是破解可能性大大降低,这个一会儿再讲。
这样,就再dic目录下产生了一系列字典文件。
现在,让我们来做一个md5的随机密码:
php代码:--------------------------------------------------------------------------------
$afcontent = file(./dic/.$op.$srand[$s]..txt, r);
foreach($afcontent as $sdics) {
    $adics = explode(|, $sdics);
    if (substr($adics[1], 0, 32) == $md5_pwd) {
        echo 破解密码为:.$adics[0].
;
        $mtime = explode(' ', microtime());
        $endtime = $mtime[1] + $mtime[0];
        echo 总耗时:.round($endtime - $starttime, 6).秒
;
        echo 继续测试;
        exit();
    }
}
for ($s=0; $s    if ($s >25 && $s         $op = 'cap';
    } else {
        $op = '';
    }
    $afcontent = file(./dic/.$op.$srand[$s]..txt, r);
    foreach($afcontent as $sdics) {
        if (md5($sdics) == $md5_pwd) {
            echo 破解密码为:.$sdics;
            exit();
        }
    }
}
--------------------------------------------------------------------------------
在程序中,你再加上检测运行时间的代码,就可以知道破解一个62字元四位长度的md5密码需要多长时间了。。。
没测之前,大家先估计一下呢?
还有,现在默认要产生大概537m~~
且需花费15分钟左右生成字典(在我piii733 256m 内存上)
   
 
   