| Генератор паролів на PHP |
|
Пароль генерується випадковим чином за допомогою функції uniqid. Ця функція повертає унікальний ідентифікатор, грунтуючись на значеннях поточного часу в мікросекунди. При такому варіанті використання функції повертається 128-бітний хеш-код. Однак отриманий пароль містить лише літери англійської мови в нижньому регістрі і цифри. Для створення більш стійкого до підбору паролів можна скористатися скриптом наведеним нижче. Генерація "рівномірного" пароля
<form method=post> <input type=text name=number value=”10″> <input type=submit value=”Згенерувати”> <form><br><br> <?php // Параметр $number - число символів в паролі echo generate_password($_POST[’number’]); function generate_password($number) { $arr = array(’a',’b',’c',’d',’e',’f', ‘g’,'h’,'i’,'j’,'k’,'l’, ‘m’,'n’,'o’,'p’,'r’,’s’, ‘t’,'u’,'v’,'x’,'y’,'z’, ‘A’,'B’,'C’,'D’,'E’,'F’, ‘G’,'H’,'I’,'J’,'K’,'L’, ‘M’,'N’,'O’,'P’,'R’,'S’, ‘T’,'U’,'V’,'X’,'Y’,'Z’, ‘1′,’2′,’3′,’4′,’5′,’6′, ‘7′,’8′,’9′,’0′,’.',’,', ‘(’,')’,'[’,']’,'!’,'?’, ‘&’,'^’,'%’,'@’,'*’,'$’, ‘<’,'>’,'/’,'|’,'+’,'-’, ‘{’,'}’,'`’,'~’); // Генеруємо пароль $pass = “”; for($i = 0; $i < $number; $i++) { // Вычисляємо випадковий індекс масиву $index = rand(0, count($arr) - 1); $pass .= $arr[$index]; } return $pass; } ?>
|