(PHP 4, PHP 5, PHP 7, PHP 8)
uniqid — Eşsiz bir kimlik dizgesi üretir
Mikrosaniye cinsinden geçerli zamana dayalı olarak belirtilen önek
ile eşsiz bir kimlik dizgesi üretir.
Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.
Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG’i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.
Bu işlev, dönüş değerinin benzersizliğini garanti etmez. Çoğu sistemde sistem saati NTP veya benzeriyle ayarlandığından, sistem zamanı sürekli olarak değiştirilir. Bu nedenle, bu işlevin süreç/evre için benzersiz bir kimlik döndürmemesi mümkündür. Benzersiz olma olasılığını artırmak için döküntü_üret
bağımsız değişkenini kullanın.
önek
Bu bağımsız değişken, farklı konaklar üzerinde aynı anda üretilen kimliklerin farklılaştırılmasında yararlı olabilir.
Boş bir önek
belirtildiğinde 13 karakterlik bir dizge elde edilir. Eğer, döküntü_üret
bağımsız değişkeninde true
belirtilmişse üretilen dizge 23 karakter uzunluğunda olur.
döküntü_üret
true
belirtildiği takdirde elde edilen dizgenin daha benzersiz olma olasılığını artırmak için dizgenin sonuna (birleşik doğrusal benzeşimsel üreteç kullanılarak) rasgele üretilmiş karakterler eklenir.
Sistem zamanına dayalı benzersiz bir kimlik dizgesi döner.
Bu işlev benzersiz bir kimlik üretmeye çalışır fakat dönen değerin %100 benzersiz olacağını garanti etmez.
Örnek 1 - uniqid() örneği
<?php
$token = md5(uniqid());
printf("uniqid(): %s\r\n", uniqid());
printf("uniqid('php_'): %s\r\n", uniqid('php_'));
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>
Bilginize:
Bu işlevin Cygwin altında çalışması için
döküntü_üret
true
olmalıdır.