SORU
28 Kasım 2008, Cuma


Çarpışma Java bir UUID en önemli bit kullanma olasılığı

Long uuid = UUID.randomUUID().getMostSignificantBits() kullanıyorsam ne kadar muhtemel bir çarpışma olacak. Bir çarpışma içine çalışan bir ihtimal var yani en az önemli bit kesilir, değil mi?

CEVAP
28 Kasım 2008, Cuma


the documentation statik yöntemine göre UUID.randomUUID() tip 4 UUID üretir.

Bu altı bit bazı tür bilgi için kullanılır ve kalan 122 bit rasgele olduğu anlamına gelir.

Rastgele olmayan altı bit UUID en önemli yarısında dört ile dağıtılır ve en az önemli olan ikiye iki. Bu yüzden en önemli yarısı senin UUID içeren 60 bit Turk, sende de ortalama ihtiyaç oluşturmak 2^30 olacak biçimde bir çarpışma (göre 2^61 tam UUID).

Oldukça güvenli olduğunu söyleyebilirim. Bu kesinlikle Carl Seleborg bahseder gibi olacak biçimde, diğer türler için geçerli değildir unutmayın.

Bu arada, UUID en önemli yarısı (veya sadece uzun kullanarak rasgele bir SecureRandom üreten) kullanarak kapalı biraz daha iyi olurdu.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Awesome Toys TV

    Awesome Toys

    18 HAZİRAN 2014
  • Karan Thakur

    Karan Thakur

    23 HAZİRAN 2010
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008