Генерирует произвольную строку, в зависимости от указанного типа и длины. Функция полезна для создания паролей и случайных хешей.

Первый параметр определяет тип строки, второй ее длину. Доступны следующие варианты:

alnum: Буквенно-цифровая строка с буквами в верхнем и нижнем регистрах.
numeric: Цифровая строка.
nozero: Цифровая строка без нуля.
unique: Хеш MD5 и uniqid(). Замечание: Параметр длины не доступен для этого типа. Вернет строку длиной 32 символа.

Пример использования:
echo random_string('alnum', 16);

                        
<?
function random_string($type = 'alnum', $len = 8)
{
switch($type)
{
case 'basic' : return mt_rand();
break;
case 'alnum' :
case 'numeric' :
case 'nozero' :
case 'alpha' :

switch ($type)
{
case 'alpha' : $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case 'alnum' : $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case 'numeric' : $pool = '0123456789';
break;
case 'nozero' : $pool = '123456789';
break;
}

$str = '';
for ($i=0; $i < $len; $i++)
{
$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
}
return $str;
break;
case 'unique' :
case 'md5' :

return md5(uniqid(mt_rand()));
break;
case 'encrypt' :
case 'sha1' :

$CI =& get_instance();
$CI->load->helper('security');

return do_hash(uniqid(mt_rand(), TRUE), 'sha1');
break;
}
}
?>
1 6 0
Без комментариев...