Rozmowy na temat tworzenia stron www oraz programowania.
Wyślij odpowiedź

Generator Haseł.

13 Paź 2011, 19:39

Poniżej prezentuje bardzo prosty generator haseł, który właśnie znalazłem Każdy z łatwością napisałby to, jednak może komuś się przyda, więc będzie miał bez roboty :) .

Kod:
<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>
Ostatnio edytowany przez kominekl 13 Paź 2011, 21:05, edytowano w sumie 2 razy

Re: Generator Haseł.

13 Paź 2011, 20:57

to już mogłeś chociaż przetłumaczyć angielskie słowa do reszty polskich albo odwrotnie bo tak to widać, że plagiat :D
a i dopisz jeszcze, żeby w haśle była choć jedna duża litera oraz cyfra i żeby każdy znak nie występował więcej niż dwa razy =) to może się komuś przyda

Re: Generator Haseł.

13 Paź 2011, 21:05

Ależ ja wcale nie kryje tego, że to nie ja napisałem, może powinienem dopisać źródło, jednak jest to w wielu miejscach, tak więc nie są zastrzeżone prawa autorskie.

Re: Generator Haseł.

13 Paź 2011, 21:16

a no właśnie - źródło :) to że jest w wielu miejscach to nie znaczy, że jest w nich zgodnie z wolą właściciela... mniejsza z tym. Nie jest to skrypt za milion dolarów, nic się nikomu nie stanie =D

Re: Generator Haseł.

13 Paź 2011, 21:25

Żeby był wart chociaż złotówkę :) . Źródła nie znam :) .

Re: Generator Haseł.

14 Paź 2011, 00:03

Wszystko opiera się na rand, a zatem nie ma tu praktycznie losowości, niestety jest to hasło do przewidzenia.

Re: Generator Haseł.

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.


Dlatego jest to trywialny (prosty) generator haseł :) .

Re: Generator Haseł.

20 Paź 2011, 04:52

Już o wiele ciekawsza prosta klasa w PHP
Kod:
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);
      }
}
Wyślij odpowiedź