安全|问题
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, $クラック."|".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($クラック)."n");
}
}
}
fclose($fp);
}
------------------------------------- -------------------------------------------------- -----
注意してください、これはほんの一例です、最初の期間のために、私が決めた秘密コードの単位は 26 個の小写字母、26 個の大写字母、10 個の数字(相信应该適合大多数の秘密コード了、ビット BT 友人がポイント シンボルを追加していることを知りません。レディック目下に一連の文字典ファイルが生成されています。 -------------------------------------------------- --------
$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内存上)