Оновлення, березень 2014 року:
По-перше, важливо зауважити, що uniqidце трохи помилково, оскільки це не гарантує унікальний ідентифікатор.
Відповідно до документації PHP :
УВАГА!
Ця функція не створює випадкових або непередбачуваних рядків. Цю функцію не можна використовувати в цілях безпеки. Використовуйте криптографічно захищені випадкові функції / генератори та криптографічно захищені хеш-функції для створення непередбачуваного захищеного ідентифікатора.
І
Ця функція не генерує криптографічно захищені маркери, насправді без передачі будь-яких додаткових параметрів повернене значення мало відрізняється від мікрочасу () . Якщо вам потрібно створити криптографічно захищені маркери, використовуйте openssl_random_pseudo_bytes () .
Встановлення більш ентропії в true генерує більш унікальне значення, однак час виконання довший (хоча і в незначній мірі), згідно з документами:
Якщо встановити значення TRUE, uniqid () додасть додаткову ентропію (за допомогою комбінованого лінійного конгруентного генератора) в кінці поверненого значення, що збільшує ймовірність того, що результат буде унікальним.
Зверніть увагу на рядок, increases the likelihood that the result will be uniqueа не той, що є гарантом унікальності.
Ви можете "нескінченно" прагнути до унікальності, до певної міри, і вдосконалювати, використовуючи будь-яку кількість процедур шифрування, додавання солей тощо - це залежить від мети.
Я рекомендую переглянути коментарі до основної теми PHP, зокрема:
http://www.php.net/manual/en/function.uniqid.php#96898
http://www.php.net/manual/en/function.uniqid.php#96549
http://www.php.net/manual/en/function.uniqid.php#95001
Я б порадив розібратися, навіщо потрібна унікальність, це для безпеки (тобто для додавання до процедури шифрування / скремблювання)? Крім того, наскільки унікальним він повинен бути? Нарешті, подивіться на врахування швидкості. Придатність буде змінюватися з урахуванням основних міркувань.
uniqidзmore_entropyмножиною дає лише близько 92 біт ентропії (23 гексбіти). Щоб зрозуміти, чому це не годиться для унікальності, див . Проблема з днем народження ...