PHP. Генерация случайного кода

Вашему вниманию предоставляется 3 функции для генерации случайного кода. Код может быть использован в качестве случайного пароля, кода активации или текста для капчи.

Первая функция генерирует 5-ти значное число, шифрует мдпятым и обрезает до нудной длины.
Код получается буквенно-цифровой.

    function generate_code($length = 7){
$num = rand(11111, 99999);
$code = md5($num);
$code = substr($code, 0, (int)$length);
return $code;
}

Вторая функция генерирует 3 массива с цифрами, буквами нижнего ригистра и буквами верхнего регистра. Массивы объединяются и случайным образом перемешиваются. Затем вырезается кусок массива нужной длины и соединяется в строку.
Код получается буквенно-цифровой.

    function generate_code($length = 7){
$num = range(0, 9);
$alf = range('a', 'z');
$_alf = range('A', 'Z');
$symbols = array_merge($num, $alf, $_alf);
shuffle($symbols);
$code_array = array_slice($symbols, 0, (int)$length);
$code = implode("", $code_array);
return $code;
}

Третья функция случайным путем генерирует код из заданной строки.
Код получается буквенно-символьно-цифровой.

    function generate_code($length = 7){
$code = '';
$symbols = '0123456789abcdefghijklmnopqrstuvwxyz_-~!+*%$#&';
for( $i = 0; $i < (int)$length; $i++ )
{
$num = rand(1, strlen($symbols));
$code .= substr( $symbols, $num, 1 );
}
return $code;
}

Использование: echo generate_code();

Интересное

Git и Bitbucket
Git – это распределенная система контроля версий. Пожалуй, на этом теория заканчивается, так как...
Project Glass — Очки будущего от Google
Компания Google представила суперсовременные «очки дополненной реальности» или Project Glass. Впрочем,...
Проверка сайта на вирусы
Если пользоваться привычной терминологией, то web вирусы не являются вирусами в традиционном...
Отзыв о FirstVDS
При покупке хостинга у FirstVDS мне предложили скидку за годный отзыв в блоге или на форуме....

Комментарии

  • Саша
    03.04.2010 в 18:24

    Спасибо за функции использую для активации на сайте

    ответить
  • данил
    03.10.2011 в 11:26

    спасибо то что нужно!

    ответить
  • Дмитрий
    20.10.2011 в 00:36

    Использую на сайте

    ответить

Чтобы оставлять комментарии, авторизируйтесь

Войти через OpenID

рейтинг3+-
Популярные
Точки входа
эротический массаж
Наверх