Skript na generování náhodných hesel
Vydáno: 30.06.06 Kategorie:
Protože jsem se nedávno ponořil do tajů světa PHP, co bych to byl u Tutatise za Ivoriuse, kdybych se o výsledky mého bádání nepodělil. Tedy, dnes přináším skript na generování náhodného hesla, který využívá funkcí, rand a cyklu while. V komentářích jsem se snažil maličko skript popsat, aby i začínající měli přehled :)
Aktualizace generátoru hesel od Drobka
Drobek se zlobil, že používám neefektivní a zastaralý kód, nabízím tedy jeho novou verzi
function Random_Password($delka_hesla) {
$mozne_znaky = 'abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$vystup = '';
$pocet_moznych_znaku = strlen($mozne_znaky);
for ($i=0;$i<$delka_hesla;$i++) {
$vystup .= $mozne_znaky[mt_rand(0,$pocet_moznych_znaku)];
}
return $vystup;
}
Stará verze generátoru hesel
<?php //generování náhodných hesel
function Random_Password($length){
srand((double)microtime()*1000000); // inicializuje generátor náhodných čísel
$possible_charactors = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; /* definujeme
možné znaky pro heslo */
$string="";
while(strlen($string)<$length) { // opakuj cyklus dokud počet znaků string je menší než length
$string .= substr($possible_charactors, rand()%(strlen($possible_charactors)),1);
// vybereme náhodný znak z množiny znaků pro heslo
}
return ($string);
}
echo Random_Password(8); // zavoláme naší funkci s parametrem 8 - heslo o 8 znacích
/*
Co možná nevíte?
- strlen > slouží ke zjištění délky řetězce
- substr > slouží k výběru podřetězce, kde jako parametry zadáváme krom vstupního řetězce
také počáteční a koncovou pozici pro výběr podřetězce. Číslování je od O
*/
?>