Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]pomoc przy skrypcie
Forum PHP.pl > Forum > Przedszkole
tofik1778983
Witam
Chciałbym użyc skryptu z tej strony
http://grala.info/programowanie/generator-hasel-losowych-php
formularz sobie zrobie ale jak wyswietlic wygenerowane hasła questionmark.gif?
Prosze o wyjaśnienie mi jak on działa ;]
kielich
Robisz funkcje z z rand np .rand(1,100000) zakodujesz to ew. mozesz dac jeszce jakis losowy ciag znaków i wyswietlasz .Proste
tofik1778983
Strasznie proste zwłaszcza dla kogoś kto zna ledwo podstawy php..
Może mi ktoś jakiś przykład napisać questionmark.gif
Gryf
ehh...
na tej stronie masz src

* Przykład użycia:
* $password = new PasswordGenerator();
* $password->useSpecialChars = false;
* $password->useDigits = true;
* $password->useLowercaseLetters = true;
* $password->useUppercaseLetters = false;
* $password->passwordLength = 12;
* $password->generate();
* echo $password->password;
tofik1778983
Wiem ze jest nie jestem ślepy.. ale nie potrafie tego sklecic żeby dzialo..
Wicepsik
  1. <?php
  2. class PasswordGenerator
  3. {
  4. /**
  5. * @author Andrzej Grala
  6. * @package PasswordGenerator
  7. * @version 1.0
  8. *
  9. * Przykład użycia:
  10. * $password = new PasswordGenerator();
  11. * $password->useSpecialChars = false;
  12. * $password->useDigits = true;
  13. * $password->useLowercaseLetters = true;
  14. * $password->useUppercaseLetters = false;
  15. * $password->passwordLength = 12;
  16. * $password->generate();
  17. * echo $password->password;
  18. */
  19.  
  20.  
  21. /**
  22. * ilość znaków hasła
  23. *
  24. * @var int
  25. */
  26. public $passwordLength = 8;
  27.  
  28. /**
  29. * czy używać znaków specjalnych | domyślnie tak
  30. *
  31. * @var bool
  32. */
  33. public $useSpecialChars = true;
  34.  
  35. /**
  36. * czy używać małych liter | domyślnie tak
  37. *
  38. * @var bool
  39. */
  40. public $useLowercaseLetters = true;
  41.  
  42. /**
  43. * czy używać dużych liter | domyślnie tak
  44. *
  45. * @var bool
  46. */
  47. public $useUppercaseLetters = true;
  48.  
  49. /**
  50. * czy używać dużych liter | domyślnie tak
  51. *
  52. * @var bool
  53. */
  54. public $useDigits = true;
  55.  
  56. /**
  57. * zmienna przechowująca wygenerowane hasło
  58. *
  59. * @var string
  60. */
  61. private $password = null;
  62.  
  63.  
  64. /**
  65. * żródła dla generatora haseł
  66. *
  67. * @var array
  68. */
  69. private $source = array();
  70.  
  71. /**
  72. * ilość żródeł dla generatora
  73. *
  74. * @var int
  75. */
  76. private $sourceCounter = null;
  77.  
  78.  
  79. /**
  80. * pobranie wartości zmiennej
  81. *
  82. * @return string
  83. */
  84. public function __get($name)
  85. {
  86. return $this->$name;
  87. }
  88.  
  89.  
  90. /**
  91. * inicjalizacja żródeł znaków dla generatora w zależności od przekazanych parametrów
  92. *
  93. * @var int
  94. */
  95. private function initialize()
  96. {
  97. if ($this->useSpecialChars)
  98. {
  99. $this->source[] = "!@#$%^*_-+=?:";
  100. }
  101.  
  102. if ($this->useDigits)
  103. {
  104. $this->source[] = "0123456789";
  105. }
  106.  
  107. if ($this->useLowercaseLetters)
  108. {
  109. $this->source[] = "abcdefghijklmnopqrstuvwxyz";
  110. }
  111.  
  112. if ($this->useUppercaseLetters)
  113. {
  114. $this->source[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  115. }
  116. if(!isset($this->source))
  117. {
  118. die("You must choose at least one password source (special chars, digits,
  119. lowercase letters, uppercase letters)");
  120. }
  121. $this->sourceCounter = sizeof($this->source);
  122. }
  123.  
  124. //generowanie hasła
  125. public function generate()
  126. {
  127. //zerowanie hasła (przydatne w przypadku generowania większej ilości haseł w pętli)
  128. $this->password = null;
  129. //inicjalizacja żródeł znaków generatora
  130. $this->initialize();
  131. //pętla generuje hasło o odpowiedniej długości
  132. for ($i=0; $i<$this->passwordLength; $i++)
  133. {
  134. //generowanie liczby pseudolosowej z zakresu ilości żródeł generatora
  135. $temp = mt_rand(0, $this->sourceCounter-1);
  136. //generowanie liczby pseudolosowej z zakresu długości żródła tablicy znaków
  137. $temp2 = mt_rand(0, strlen($this->source[$temp])-1);
  138. //dopisanie znaku do hasła
  139. $this->password .= $this->source[$temp][$temp2];
  140. }
  141. }
  142. }
  143.  
  144.  
  145. /* true - prawda // false - fałsz */
  146. $password = new PasswordGenerator();
  147. // Ustawiasz czy chcesz mieć w wygenerowanym haśle
  148. $password->useSpecialChars = false; // znaki specjalne !@#$%^*_-+=?:
  149. $password->useDigits = true; // Cyfry
  150. $password->useLowercaseLetters = true; // małe litery
  151. $password->useUppercaseLetters = false; // DUŻE LITERY
  152. $password->passwordLength = 12; // Ustalasz długość wygenerowanego hasła
  153. $password->generate(); // generujesz hasło
  154. echo $password->password; // wyświetlasz
  155. ?>
tofik1778983
NIe wiem co robie zle ale mi to nie działa kolega próbował tez nic. Uzyłem juz innego skryptu dzieki z odp.
Zawsze jakieś błedy wywalał, najmniejszy z nich:
Fatal error: Cannot access private property PasswordGenerator::$password in c:\usr\krasnal\www\test\gengrator\index.php on line 185
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.