uniqid

Генерирует уникальный идентификатор.

Синтаксис:

int uniqid(string prefix [, boolean lcg]);

Функция uniqid() возвращает уникальный идентификатор, основанный на текущем времени в микросекундах и имеющий префикс prefix. Префикс может быть полезен, например, если Вы генерируете идентификаторы одновременно на отдельных хостах, которые, могли бы случилось, генерировали идентификатор в одной и той же микросекунде. Префикс может быть длиной до 114 символов. Если в качестве его значения передается пустая строка, то длина сгенерированного идентификатора будет 13 символов (при lcg=true - 23 символа).

Если указан необязательный аргумент lcg со значением true, к концу идентификатора будет добавляться "комбинированный хеш энтропии LCG", делающий его значение более уникальным.

Принято также дообрабатывать полученное значение криптографическими методами (например, это часто делается в идентификаторах сессий).

// без случайной части
$token = md5(uniqid(""));

// посложнее
$better_token = md5(uniqid(rnad()));

Эти строки генерируют 32 байта (128-битное шестнадцатеричное число): они обладают максимальной унакальностью, которая только может потребоваться