Autor Zpráva
spider-x
Profil *
Ahoj. Chtěl bych se zeptat jak funguje tenhle generátor hesel. Konkrétně
$string.= substr($possible_characters,rand()%(strlen($possible_characters)),1);
k čemu tam slouží znak procent, a proč je strlen v samostatných závorkách a ne v závorkách u rand()
<?php

function Random_Password($lenght){
            

            $possible_characters= "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            $string="";
                
                while(strlen($string)<$lenght){
                $string.= substr($possible_characters,rand()%(strlen($possible_characters)),1);
                                              }
                return($string);
                                  
                                }
  echo Random_password (8);

?>
Joker
Profil
spider-x:
jak funguje tenhle generátor hesel
V každém cyklu z toho řetězce vybere jeden náhodný znak a připojí ho k heslu. Takhle postupně vygeneruje heslo potřebné délky.

k čemu tam slouží znak procent
To je operátor modulo, zbytek po dělení.
Zde slouží k omezení náhodných čísel na správný počet. Protože když strlen($possible_characters) je (jestli dobře počítám) 62, jakékoliv číslo modulo 62 dá číslo 0-61.
Takže to zaručuje, že číslo nepřesáhne délku toho řetězce.

proč je strlen v samostatných závorkách
Nejspíš kvůli přehlednosti, ty závorky tam být nemusí.

a ne v závorkách u rand()
V těch to není, protože nejde o argument funkce rand.
spider-x
Profil *
Děkuju za vysvětlení. Hned to líp chápu :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: