[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Повтор функции,если условие неверно..
Эли4ка
Скажите пожалуйста,дорогие форумчане,как можно сделать следующее:
Есть функция генерирующая случайный пароль и добавляет его в массив.Так вот если в массиве уже есть такой пароль,то запустить функцию еще раз,и так пока не будет новый,отличный пароль,от тех,что в массиве.

Спасибо.



Спустя 3 минуты, 13 секунд (4.03.2012 - 10:52) Commander Keen написал(а):
а какова вероятность совпадений случайных паролей? o_O Мизерная, если не делать пароль в 3-4. А так, вижу только перебрать массив, что очень долго соответственно... Или исключать те символы, которые уже использовались и так до конца символьной таблицы )) Тогда пароль точно будет уникальный, но их будет не так много как ваших "псевдоуникальных"

Спустя 8 минут, 52 секунды (4.03.2012 - 11:01) Visman написал(а):
Какой перебор массива?
Если есть функция in_array.

Спустя 2 минуты, 22 секунды (4.03.2012 - 11:03) Эли4ка написал(а):
Visman
сейчас посмотрю в мануале..
Commander Keen
длинна пароля - от8 до 32

Спустя 8 минут, 19 секунд (4.03.2012 - 11:11) Michael написал(а):
function getPass(){
static $passwords = array();
$new = rand(1,5000); // генерируем пароль
if (isset($passwords[$new])) return getPass();
else {
$passwords[$new] = 1;
return $new;
}
}

Спустя 27 минут, 28 секунд (4.03.2012 - 11:39) Эли4ка написал(а):
Michael
вот функция
<?php
function
generatePassword($length = 8){
$chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
$numChars = strlen($chars);
$string = '';
for ($i = 0; $i < $length; $i++) {
$string .= substr($chars, rand(1, $numChars) - 1, 1);
}
return $string;
}
echo "Пароль из 8 символов: " . generatePassword(8) . "\n";
?>

Под нее адаптировать надо..

Спустя 12 минут, 58 секунд (4.03.2012 - 11:52) Visman написал(а):
$new = rand(1,5000); // генерируем пароль

замени на
$new = generatePassword(); // генерируем пароль


Тогда ф-я Michael будет использовать твою.

Спустя 10 минут, 1 секунда (4.03.2012 - 12:02) Эли4ка написал(а):
Visman
попробую..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.