Autor Zpráva
krteczek
Profil *
zdravím, potřeboval bych pomocí nějaké funkce) v php vytvořit heslo, s délkou třeba 50 znaků .
něco v tomhle smyslu:
aktuální čas a datum -> $datum; $heslo=md5($datum);
a potom ješte jak se vytváří náhodné číslo??? to zase potřebuji na něco jiného...
díky krteczek
DoubleThink
Profil *
rand()
Leo
Profil
Nahodne heslo? No proste slepujete znak po znaku retezec hesla az dosahne dane delky, s tim, ze znaky vybirate z predem dane mnoziny (bud pole, a nahodne generujete index, nebo nahodne generujete ascii kod a prevadite to na znak fci chr). Ovsem lepsi varianta je dat uzivatelum moznost si heslo nastavit s tim, ze jenom omezite jeho tvar. V opacnym pripade si je nebudou pamatovat a napisou si je fixkou na monitor... Leo
krteczek
Profil *
No tak jsem hledal, s pomocí algoritmu md5 a funkce? rand() vytvoril tenhle generátor náhodných hesel:

<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<? $nahoda=rand(-32000,32000);
echo "nahodné číslo je ". $nahoda;
$heslo=md5($nahoda);
echo '<br>heslo = '.$heslo;
$delka=rand(5,10);
echo '<br>delka = '.$delka;
$vyber=rand(0,23);

$heslo=substr($heslo,$vyber,$delka);
echo '<br>heslo = '.$heslo;
?>
</body>
</html>

Myslíte si že je dobry??? ty vypisy tam jsou jen kvuli zkoumáni chováni...
Jedná se mi o vytvorení hesla pro administratora stránky, a o to aby neslo heslo odhadnout jednoduse pomocí nejakých lámacích algoritmů co hazou jména a slova z databáze slov. jméno a heslo budou zaslány na email zadaný
Leo
Profil
No ale to budes mit znaky v heslu omezeny jen na a,b,c,d,e,f,0,...,9 - neni to malo? Leo
halogan
Profil
Na pear.php.net najdes skvelou tridu, ktera toto vse zaridi. Generuje nahodna hesla. Jmenuje se tusim text_passwords. Ted nevim, hledej kdyztak jen "password"
krteczek
Profil *
no slo by to udelat tak ze po 20 pokusech se vygeneruje nove heslo a bude odesláno automaticky na email udaný adminem pri vzniku jeho uctu, mezi pokusy bude minimální časová mezera treba po3 pokusech 2 hodiny,
tím by se hacknutí opět ztížilo.
krteczek
Leo
Profil
A co treba neco v tomhle stylu:

function nahodne_heslo($delka=8) {
$str = '';
for ($i=0;$i<$delka;$i++) $str .= chr(rand(48,122));
return $str;
}

podle knihy Pokrocile programovani v PHP 5, Leo
krteczek
Profil *
no tak tohle je lepší...:o)
vylepšil jsem to ještě trošku, vybral jsem jen znaky které každý na klávesnici najde bez problému.

<html >
<head>
<title>Generátor náhodných hesel</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?
$delka=rand(6,8);
$heslo='';
for ($a=0;$a<$delka;$a++)
{
$znak1=chr(rand(48,57));
$znak2=chr(rand(65,90));
$znak3=chr(rand(97,122));
$vyber=rand(1,3);
if ($vyber==1)
{
$heslo.=$znak1;
}
if ($vyber==2)
{
$heslo.=$znak2;
}
if ($vyber==3)
{
$heslo.=$znak3;
}
}
echo 'heslo='.$heslo.'<br>'.'delka hesla='.($delka);
?>
</body>
</html>

Myslím že tohle splnuje všechny podmínky
1)delka hesla není stejná, takže utočník neví kolik znaku vlastně muže heslo mít- vi jen ze múže být dlouhé 6 až 8 znaků
2)je to kombinace čísel a textu, takže je těžko hacknutelné generátory hesel typu wwwhack
3)jsou použity jen znaky, které jsou na většině systémů běžně k "dostání" odpadá tudíž složité hledáni toho správného znaku
dál mne nic nenapada :o(
rád bych věděl jaké má tento generátor nevýhody?
krteczek
Leo
Profil
V te fci nahodne heslo se predpokladalo ze ji budes volat s nahodnou hodnotou $delka, 8 je jen default. Nevim, co vsechno jsi do hesla nacpal za znaky, ale krome pismen a cislic bych tam uz nic necpal, samozrejme s ruznou velikosti pismen a test pak citlivy na velikost pismen... Leo
krteczek
Profil *
jsou tam znaky 0-9,a-z,A-Z, bez diakritiky
jdu testovat velikosti pismen...
krteczek
krteczek
Profil *
no tak mám problém s malým L a 1
tyhle dva znaky jsou totiš vzhedově velice podobné, a nevím jaky bežný font použít na to aby to bylo správně čítelné:( asi budu muset vyřadit tyhle znaky z generátoru... nebo znáte řešení???
krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.