Nasıl benim GUID oluşturmak gerekir?

2 Cevap php

Ben bir sisteme görüntüleri yükleyerek olacak ve sıralı olmayan bir benzersiz kimliği tarafından başvurulan için onlara ihtiyacımız var. Ben GUID'lerin hakkında biraz okudum, ve ben PHP bir yapım için en iyi yaklaşım nedir merak ediyorum. I) şimdiki zaman damgası ve tuz (MD5 gerektiğini o, ya da PHP'nin uniqueid (http://www.php.net/manual/en/function.uniqid.php) fonksiyonu yeterli olacak?

Teşekkürler!

2 Cevap

EDIT:

Eyvah! Benim bu antik cevap unutmuşum. MD5 onların çıktı tüm girişler için benzersiz olması garantisi yok bu yüzden (en yararlı sağlamalarının gibi, doğaları gereği), not injektif şunlardır: (aşağıda yapılan yorumlarla tutarlı) benim saflık tarafından oluşturulan karışıklığa açıklık getirmek.

Karma çarpışmalar özdeş bir anahtar zaten oluşturulmuş olup olmadığını, karma sonra, bu tekniği kontrol gerektirir kullanarak bir sorunu (bu durumda, onlar), iseniz.


uniqid guid oluşturmak için mikrosaniye şimdiki zaman kullanan bu yana, şimdiye kadar iki kez aynı birine kaçıyorum şansı hemen hemen yoktur.

Sadece benzersiz dosya adlarını yapmak için kullanıyor iseniz Yani, uniqid () yeterli olacaktır. Eğer guid tahmin engellemek istiyorsanız, siz de de onu zor ve md5 neden olabilir.

GUID UUID Microsoft'un sürümüdür. PHP'nin uniqid UUID sürüm 4 olduğunu. Kesinlikle yeterince iyi.