Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> losowe znaki, mały generator
adif
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 12.06.2005

Ostrzeżenie: (0%)
-----


Witajcie...

rzecz wydaje się być prosta...

potrzebuję generować losowe hasła składające się z 6 znaków.

Przekopałem forum (może niezbyt dobrze) i nie znalazłem nic konkretnego. Sam raczej wykombinowałem proste rozwiązanie:

  1. <?php
  2.  
  3. $znaki=md5(time()); // i z tego wyciągam pierwsze 6 znaków
  4.  
  5. ?>


lub tak jak np. tutaj:

http://forum.php.pl/index.php?showtopic=2138&hl=

ale szczerze mówiąc zastanawia mnie czy istnieje cos mniej kombinowanego tj. dla znaków [a-zA-z0-9] jak dla liczb np. coś w rodzaju funkcji rand?questionmark.gif

--------------------------
pozdrawiam wszystkich
Go to the top of the page
+Quote Post
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


Na phpclasses.org jest pełno ( w dziale Random Password Generator), np. ta klasa.

Z tym md5() i time() to też dobre.


--------------------
Go to the top of the page
+Quote Post
NuLL
post
Post #3





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Prosty algorytm generowanie ciągu ale z samych liter
  1. <?php
  2. $length=8;
  3.  
  4. $list=array_merge(range('a','z'),range(0,9));
  5. shuffle($list);
  6. $string=substr(join($list),0,$length);
  7.  
  8. ?>

Możesz jeszcze zmerdżować tongue.gif cyfry i będzie ok.


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
adif
post
Post #4





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 12.06.2005

Ostrzeżenie: (0%)
-----


dzięki TomASS za ciekawy link...(może się kiedyś przydać)

jeśli chodzi o rozwiązanie NuLL'a to przyznaję - ciekawe, jednakże chyba również zbyt kombinowane.

raczej jednak pozostane przy swoim, o którym wyzej napisałem - mianowicie
  1. <?php
  2.  
  3. $nowe_haslo=substr(md5(time()), 0, 6);
  4.  
  5. ?>


Przynajmniej krótszy kod winksmiley.jpg

Wielkie dzięki za szybkie odpowiedzi.
Go to the top of the page
+Quote Post
scanner
post
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




http://forum.php.pl/index.php?showtopic=21...=0&#entry129986
http://forum.php.pl/index.php?showtopic=23...ndpost&p=137743


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
hwao
post
Post #6


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  1. <?php
  2.  
  3. // Andy Shellam, andy [at] andycc [dot] net
  4.  
  5. // generate a random string of numbers/letters
  6.  
  7. settype($template, "string");
  8.  
  9. // you could repeat the alphabet to get more randomness
  10. $template = "1234567890abcdefghijklmnopqrstuvwxyz";
  11.  
  12. function GetRandomString($length) {
  13.  
  14.  global $template;
  15.  
  16.  settype($length, "integer");
  17.  settype($rndstring, "string");
  18.  settype($a, "integer");
  19.  settype($b, "integer");
  20.  
  21.  for ($a = 0; $a <= $length; $a++) {
  22.  $b = rand(0, strlen($template) - 1);
  23.  $rndstring .= $template[$b];
  24.  }
  25.  
  26.  return $rndstring;
  27.  
  28. }
  29.  
  30. echo GetRandomString(30);
  31.  
  32. ?>
Go to the top of the page
+Quote Post
tiraeth
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Ja to rozwiązuję w ten sposób:
  1. <?php
  2. $pass = md5(uniqid(rand(), true));
  3. ?>

i po sprawie smile.gif Jak potrzebuję mniejszy ciąg znaków to substr i dzioba biggrin.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:32