En mantıklısı uniqid. Ancak bunun benzersizliğinin garantisi yok. Çok düşük ihtimal de olsa aynı mikrosaniyeye denk gelen bir işlem olursa aynı çıktıyı verir. Burada kullanıcıya dair bir değişkeni koda dahil etmek (ip, cookie süresi, session zamanı, browser imzası vb.)...

Örn:

$ehiste=strtoupper(md5(uniqid(mt_rand(), true).$_SERVER['REMOTE_ADDR']));
Eğer sqlle bağlantısı olacaksa o zaman şöyle yaparsanız benzerini bulamaz:

$benzersiz=strtoupper(md5(uniqid(mt_rand(), true).$_SERVER['REMOTE_ADDR'].($SQLdekisonidno+1)));