Skocz do zawartości


Zdjęcie

[PHP] Generujemy hasło użytkownikowi


  • Zaloguj się, aby dodać odpowiedź
1 odpowiedź w tym temacie

#1 Ziele

Ziele

    Biblioteka Zielińskiego

  • 1812 postów

Napisano 06 04 2007 - 20:33

Postanowaiłem napisać porcję nowych tutoriali z dziedziny php ponieważ ostatnio trochę się sam poduczylem i podzielić się wiedza należy :)

Także zajmijmy się teraz generowaniem bardzo prostego hasła dla użytkownika. W przypadku kodu, który przedstawie będzie ono dotyczyło hasła dla użytkowników webtips :)

Także stwórzmy tablicę $slowoArray, w której będziemy zapisywać wszystkie możliwe kombinacje użyte w wygenerowanym haśle. Teraz przy użyciu wbudowanej do PHP funkcji array_rand() wybierzemy losowy wpis z tablicy.

No i oczywiście przedstawiam wam kod do tego:
$slowoArray = ('webtips', 'forum', 'webmaster', 'php', 'pozycjonowanie', 'grafika', 'webpomoc', 'tutoriale', 'artykuly');

$slowoRand = array_rand($slowoArray, 2);

echo $slowoArray[$slowoRand[0]].rand(100,999).$slowoArray[$slowoRand[1]];
Brzmi skomplikowanie jednak w gruncie rzeczy jest to bardzo prosta kombinacja, która może dac nam hasło takie jak: webtips509php itp.


Sposobów na generowanie hasła jest tyle ile ludzkich pomysłów za pewnie, ale skoro ma to komuś pomóc to proszę. Generowanie losowych ciągów znaków np. do hasła:
function generuj_haslo($dlugosc)
{
   $zestaw_znakow = "abcdef1234"; //zestaw znakow mozesz ustalic samodzielnie
   $haslo = '';
   for ( $i = 0; $i <= $dlugosc - 1; $i++ )
   {
	  $losowy = rand(0, strlen($zestaw_znakow) - 1);
	  $haslo .= $zestaw_znakow{$losowy};
   }
   return $haslo;
}
print generuj_haslo(5); //za 5 wpisujesz dlugosc hasla


  • 0

#2 Kai

Kai

    Stały użytkownik

  • 237 postów

Napisano 23 02 2008 - 19:08

Z mojej strony to:
$losowy = rand(0, strlen($zestaw_znakow) - 1);
Zmieniłbym na:
$losowy = rand(0, $dlugosc_zestawu);
I przed:
for ( $i = 0; $i <= $dlugosc - 1; $i++ )
Dodałbym:
$dlugosc_zestawu = strlen($zestaw_znakow) - 1;
Nie ma sensu obciążać danego serwisu niepotrzebnymi operacjami w pętli.

  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych