13 Paź 2011, 19:39
<html>
<head>
<title>Generatorek</title>
</head>
<body>
<table width='500px' border='1px'>
<tr>
<td>
<form action='?generuj' method='post'>
Długość hasła: <input type='text' name='haslo'><br>
<input type='submit' value='Generuj' name='ok'><hr />
</form>
<?php
if(isset($_POST['ok'])) {
function generatePassword($length) {
$character = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$password = "";
for($i=0;$i<$length;$i++) {
$password .= $character[rand(0, 61)];
}
return $password;
}
echo '<table style="background: aqua;"><tr><td>'.generatePassword($_POST['haslo']).'</td></tr></table>';
}
?>
</td>
</tr>
</table>
</body>
</html>
13 Paź 2011, 20:57
13 Paź 2011, 21:05
13 Paź 2011, 21:16
13 Paź 2011, 21:25
14 Paź 2011, 00:03
14 Paź 2011, 10:40
cosik_ktosik napisał(a):Wszystko opiera się na rand, a zatem nie ma tu praktycznie losowości, niestety jest to hasło do przewidzenia.
20 Paź 2011, 04:52
class MAKEpasswd
{
var $intLength;
var $pool;
function MAKEpasswd($iLength, $iChars)
{
$this->intLength = $iLength;
$this->pool = $this->getPool($iChars);
}
function getPool($iChars)
{
switch($iChars)
{
case 1: /* a - z */
for($i = 0x61; $i <= 0x7A; $i++)
{
$str .= chr($i);
}
return $str;
break;
case 2: /* A - Z */
for($i = 0x41; $i <= 0x5A; $i++)
{
$str .= chr($i);
}
return $str;
break;
case 3: /* a - z and A - Z */
$str = $this->getPool(1);
$str .= $this->getPool(2);
return $str;
break;
case 4: /* 0 - 9, A - Z and a - z */
$str = $this->getPool(3); // get chars a - z and A - Z first
for($i = 0x30; $i <= 0x39; $i++)
{
$str .= chr($i); // add chars 0 - 9;
}
return $str;
break;
case 5:
/* This will add these chars into the string !#$%&() */
$str = $this->getPool(4);
for($i = 0x21; $i < 0x29; $i++)
{
if($i == 0x22 || $i == 0x27) // Exclude characters " and '
{
continue;
}
$str .= chr($i);
}
return $str;
break;
}
}
function makePassword()
{
srand ((double) microtime() * 1000000);
$str="";
while(strlen($str)< $this->intLength)
{
$str.=substr($this->pool,(rand()%(strlen($this->pool))),1);
}
return($str);
}
}