uniqid
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
uniqid
Референца за `function.uniqid.php` со подобрена типографија и навигација.
uniqid
(PHP 4, PHP 5, PHP 7, PHP 8)
uniqid — Генерирај идентификатор базиран на време
= NULL
Добива идентификатор базиран на тековното време со микросекундна прецизност, претставен со дадениот prefix и опционално додава случајно генерирана вредност.
Оваа функција не генерира криптографски сигурни вредности, и Ако завршниот идентификатор е вовлечен, може да се користат и табулатори, но табулаторите и празнините да се користи за криптографски цели, или цели што бараат вратените вредности да бидат непредвидливи.
Ако е потребна криптографски сигурна случајност, Random\Randomizer може да се користи со Random\Engine\Secure engine. За едноставни случаи на употреба, random_int() and random_bytes() функциите обезбедуваат удобен и сигурен API што е поддржано од оперативниот систем CSPRNG.
Оваа функција не гарантира уникатност на вратената вредност бидејќи вредноста се базира на тековното време во микросекунди или тековното време со додаден мал дел од случајни податоци ако more_entropy is true.
Параметри
prefix-
Може да биде корисно, на пример, ако генерирате идентификатори истовремено на неколку хостови кои би можеле да генерираат ист идентификатор во истата микросекунда. (Ова може да се случи дури и на еден хост ако системскиот часовник е поместен наназад, како на пример со NTP прилагодување.)
Со празно
prefix, вратениот стринг ќе биде долг 13 знаци. Акоmore_entropyistrue, ќе биде 23 знаци. more_entropy-
Ако е поставено на
true, uniqid() ќе додаде дополнителна ентропија (користејќи го комбинираниот линеарен конгруентен генератор) на крајот од вратената вредност, што ја зголемува веројатноста резултатот да биде уникатен.
Вратени вредности
Враќа идентификатор базиран на временски печат како стринг.
Оваа функција не гарантира уникатност на вратената вредност.
Примери
Пример #1 uniqid() Пример
<?php
/* A uniqid, like: 4b3403665fea6 */
printf("uniqid(): %s\r\n", uniqid());
/* We can also prefix the uniqid, this the same as
* doing:
*
* $uniqid = $prefix . uniqid();
* $uniqid = uniqid($prefix);
*/
printf("uniqid('php_'): %s\r\n", uniqid('php_'));
/* We can also activate the more_entropy parameter, which is
* required on some systems, like Cygwin. This makes uniqid()
* produce a value like: 4b340550242239.64159797
*/
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>Белешки
Забелешка:
Под Cygwin, на
more_entropyмора да биде поставена наtrueза оваа функција да работи.
Види Исто така
- random_bytes() - Добиј криптографски сигурни случајни бајти