За последние 24 часа нас посетили 17572 программиста и 1594 робота. Сейчас ищут 1572 программиста ...

Генератор случайных чисел и другого

Тема в разделе "Решения, алгоритмы", создана пользователем Leonardo, 1 мар 2009.

  1. Leonardo

    Leonardo Активный пользователь

    С нами с:
    1 мар 2009
    Сообщения:
    1
    Симпатии:
    0
    Это почти мой первый скрипт и пхп тольку только недавно начал учить, прокомментируйте.
    PHP:
    1. <?
    2. $random = Array("1", "2", "3", "a", "b", "c", "!", "@", "PHP", "gg", "gaga", "hmm", "Rrr");
    3. shuffle($random);
    4. echo substr(implode($random),  0, 10);
    5. ?>
    Результат: 2bgagaa3c! и каждый раз новый.
    Там где 10, это обрезал до первых десяти символов.
    Возможное применение: генерация новых паролей или еще чего то.
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Хе) Необычно.
     
  3. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    rand()
    uniqid()
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    PHP:
    1.  
    2. <?php
    3. $Array = array ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h');
    4. $Length = 12;
    5. $Password = '';
    6. for ($i = 0; $i < $Length; $i++){
    7.         $Password.= $Array[array_rand($Array)];
    8. }
    9. print $Password;
    10.  
     
  5. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    давно это было...

    PHP:
    1.  
    2. <?
    3. # случайный ключ
    4. function OOPSGetRandomKey($l=0) {
    5.     # из чего генерируем
    6.     $alphabet = "abcdefghijklmnopqrstuvwxyz1234567890";    
    7.     $alphalen = strlen($alphabet);
    8.     $key="";
    9.  
    10.     # запускаем генератор
    11.     mt_srand((double)microtime()*1000000);                 
    12.     if($l == 0)
    13.         $keylength=mt_rand(OOPS_SYSTEM_KEY_START,OOPS_SYSTEM_KEY_STOP);
    14.     else
    15.         $keylength=min(OOPS_SYSTEM_KEY_STOP,max(OOPS_SYSTEM_KEY_START,$l));
    16.     for ($i=0; $i<$keylength ; $i++) {
    17.       $key .= substr($alphabet, mt_rand() % $alphalen, 1);
    18.     }
    19.     return $key;
    20. }
    21. ?>
    22.