Как на 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();
 
Материал взят с сайта http://www.netopalto.ru/php.-generaciya-sluchaynogo-koda.html с разрешения автора





Добавить комментарий

Логин:
Пароль:
Проверочное число: