Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.60
pixel
18 / 11 / 1
Регистрация: 19.05.2009
Сообщений: 1,632
#1

Генератор пароля - PHP

27.10.2011, 08:29. Просмотров 2010. Ответов 15
Метки нет (Все метки)

Приветствую.
Решил тут написать функцию сабжа, но что то хлам какой то неработоспособный получается:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
function TestRandStr($num = 8)
    {
    $a1 = array(range(0, 9));
    $a2 = array(range('A', 'Z'));  
    $a3 = array(range('a', 'z'));
    $key = '';
    $id = 0;
    $last_id=0;
    $rand = microtime(true);
    for($i = 0; $i < $num; $i++)   
        {
          $id = rand(1, 3);
           if ($id==$last_id)
           {
           while ($id==$last_id) $id = rand(1, 3);
              $last_id=$id;
              switch ($id)
              {
              case 1:
              $key .= $a1[(round(($rand * 1000 - floor($rand * 1000)),2) * 100 )];
              $rand = microtime(true); 
              break;
              case 2:
              $key .= $a2[(round(($rand * 1000 - floor($rand * 1000)),2) * 100 )];
              $rand = microtime(true); 
              break;
              case 3:
              $key .= $a3[(round(($rand * 1000 - floor($rand * 1000)),2) * 100 )];
              $rand = microtime(true); 
              break;
              }           
           }
           else
           {
              $last_id=$id;
              switch ($id)
              {
              case 1:
              $key .= $a1[(round(($rand * 1000 - floor($rand * 1000)),2) * 100 )];
              $rand = microtime(true); 
              break;
              case 2:
              $key .= $a2[(round(($rand * 1000 - floor($rand * 1000)),2) * 100 )];
              $rand = microtime(true); 
              break;
              case 3:
              $key .= $a3[(round(($rand * 1000 - floor($rand * 1000)),2) * 100 )];
              $rand = microtime(true); 
              break;
              }
           }
        }
         return $key;  
    }
т.е. нужно сгенерить пароль из 8 символов, но что бы подряд однотипные символы не ставились. Например X0x0 - правильно а X00x - не правильно. Вывод либо вообше не происходит, либо выводится слово Array. Код получается очень громоздкий. Может есть более элегантный вариант?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.10.2011, 08:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Генератор пароля (PHP):

Генератор пароля (случайной строки) - PHP
&lt;?php function genpsw() { $rp = array ( '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'a', 'b', 'c', 'd', 'e', 'f', 'g',...

генератор ключей - PHP
как сделать код чтобы он генерировал рандомные ключи , чтобы получалось чтото вроде этого -&gt; jTf34-jYFG1-uTV5X-pEc4m-EbMu7 ?

генератор чисел - PHP
Добрый вечер, как генерировать ключ(цифр) из матрицы Вот пример $matrix =...

Генератор ников - PHP
Где взять генератор ников, написанный на PHP, или exe-файл, который можно будет выполнить через exec() ? или подкиньте идею как свой...

Генератор паролей - PHP
Мне нужно расшивровать пароль : Содержание пароля : Первые 2 цифры - идут последовательно ( в пределах 7-0 на клаве ) Например...

Генератор тестов - PHP
Всем привет! В силу обстоятельств пытаюсь сделать генератор тестов на php, который берет случайные вопросы из БД по номеру блока и выводит...

15
Vovan-VE
13139 / 6522 / 188
Регистрация: 10.01.2008
Сообщений: 15,071
30.10.2011, 09:48 #16
Цитата Сообщение от pixel Посмотреть сообщение
блин, опять условности. вот так я правильно применяю?
Да, все правильно. Условности в другом заключаются. Данная функция также полагается на кодировку соединения, установленную через mysql_set_charset(). Также mysql_real_escape_string() может работать только при установленном соединении с MySQL сервером. Если соединения еще не было установлено, то оно будет установлено принудительно: неявный вызов mysql_connect() без параметров - т.е. вызов с какими-то левыми дефолтными логином и паролем, что ничем хорошим уж точно Вам не сулит.
1
30.10.2011, 09:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2011, 09:48
Привет! Вот еще темы с ответами:

Генератор имён - PHP
http://www.cyberforum.ru/php-beginners/thread1705961.html А как сделать чтобы была кнопка &quot;Сгенерировать имя&quot;, а над ней надпись (имя,...

генератор матчей - PHP
Вобщем я не силен в програмирование, но мне надо сделать одно делj: Генератор Матчей: жилательно попробывать простенько на языках html...

Генератор Sitemap - PHP
Добрый вечер. Кто знает класс для правильного создания sitemap файла. Просто онлайн сервисы генерируют максимум 500 страниц.

Генератор контента - PHP
Столкнулся с проблемой хранения страниц со статьями на сайте. В связи с этим ВОПРОС: Мне вручную писать эти самые страницы, или генератор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru