Вот что я использую в одном из моих проектов, он отлично работает и генерирует UNIQUE RANDOM TOKEN:
$timestampz=time();
function generateRandomString($length = 60) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
$tokenparta = generateRandomString();
$token = $timestampz*3 . $tokenparta;
echo $token;
Обратите внимание, что я умножил временную метку на три, чтобы создать путаницу для тех, кто мог бы задаться вопросом, как генерируется этот токен;)
Надеюсь, это поможет:)