Heim Backend-Entwicklung PHP-Tutorial 今天和大家探讨一个很重要的问题密码安全_PHP

今天和大家探讨一个很重要的问题密码安全_PHP

Jun 01, 2016 pm 12:39 PM
srand 安全 密码 探讨 重要 问题

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 内存上)



Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie lässt sich das Problem lösen, dass Windows 11 Sie auffordert, den Administrator-Benutzernamen und das Passwort einzugeben, um fortzufahren? Wie lässt sich das Problem lösen, dass Windows 11 Sie auffordert, den Administrator-Benutzernamen und das Passwort einzugeben, um fortzufahren? Apr 11, 2024 am 09:10 AM

Wie lässt sich das Problem lösen, dass Windows 11 Sie auffordert, den Administrator-Benutzernamen und das Passwort einzugeben, um fortzufahren?

So legen Sie das WLAN-Passwort des Routers mit dem Mobiltelefon fest (mit dem Mobiltelefon als Werkzeug) So legen Sie das WLAN-Passwort des Routers mit dem Mobiltelefon fest (mit dem Mobiltelefon als Werkzeug) Apr 24, 2024 pm 06:04 PM

So legen Sie das WLAN-Passwort des Routers mit dem Mobiltelefon fest (mit dem Mobiltelefon als Werkzeug)

Anleitung zum Ändern des WLAN-Passworts auf einem Mobiltelefon (einfache Bedienung) Anleitung zum Ändern des WLAN-Passworts auf einem Mobiltelefon (einfache Bedienung) Apr 26, 2024 pm 06:25 PM

Anleitung zum Ändern des WLAN-Passworts auf einem Mobiltelefon (einfache Bedienung)

Wie heißt die Software, die alle WLAN-Passwörter entsperren kann (empfohlene mobile Software, um verbundene WLAN-Passwörter mit einem Klick zu erhalten) Wie heißt die Software, die alle WLAN-Passwörter entsperren kann (empfohlene mobile Software, um verbundene WLAN-Passwörter mit einem Klick zu erhalten) Apr 02, 2024 pm 06:46 PM

Wie heißt die Software, die alle WLAN-Passwörter entsperren kann (empfohlene mobile Software, um verbundene WLAN-Passwörter mit einem Klick zu erhalten)

So erhalten Sie ganz einfach das WLAN-Passwort eines verbundenen Mobiltelefons (finden Sie schnell das im Mobiltelefon gespeicherte WLAN-Passwort) So erhalten Sie ganz einfach das WLAN-Passwort eines verbundenen Mobiltelefons (finden Sie schnell das im Mobiltelefon gespeicherte WLAN-Passwort) May 08, 2024 pm 01:10 PM

So erhalten Sie ganz einfach das WLAN-Passwort eines verbundenen Mobiltelefons (finden Sie schnell das im Mobiltelefon gespeicherte WLAN-Passwort)

Was soll ich tun, wenn mein Win10-Passwort nicht den Passwortrichtlinienanforderungen entspricht? Was kann ich tun, wenn mein Computerpasswort nicht den Richtlinienanforderungen entspricht? Was soll ich tun, wenn mein Win10-Passwort nicht den Passwortrichtlinienanforderungen entspricht? Was kann ich tun, wenn mein Computerpasswort nicht den Richtlinienanforderungen entspricht? Jun 25, 2024 pm 04:59 PM

Was soll ich tun, wenn mein Win10-Passwort nicht den Passwortrichtlinienanforderungen entspricht? Was kann ich tun, wenn mein Computerpasswort nicht den Richtlinienanforderungen entspricht?

So setzen Sie das WLAN-Passwort über den Router zurück (einfache Schritte zum Schutz der Sicherheit Ihres Heimnetzwerks) So setzen Sie das WLAN-Passwort über den Router zurück (einfache Schritte zum Schutz der Sicherheit Ihres Heimnetzwerks) May 03, 2024 pm 03:01 PM

So setzen Sie das WLAN-Passwort über den Router zurück (einfache Schritte zum Schutz der Sicherheit Ihres Heimnetzwerks)

Wie sollte das Design der Sicherheitsarchitektur des Java-Frameworks mit den Geschäftsanforderungen in Einklang gebracht werden? Wie sollte das Design der Sicherheitsarchitektur des Java-Frameworks mit den Geschäftsanforderungen in Einklang gebracht werden? Jun 04, 2024 pm 02:53 PM

Wie sollte das Design der Sicherheitsarchitektur des Java-Frameworks mit den Geschäftsanforderungen in Einklang gebracht werden?

See all articles