logo

Java UUID Oluştur

UUID bilgisayar sisteminde yaygın olarak kullanılan 128 bit uzunluğunda benzersiz bir kimlik numarasıdır. Dört tireyle ayrılmış onaltılık rakamlardan oluşur. Bu bölümde tartışacağız UUID nedir Ve Java'da rastgele UUID (sürüm 4) nasıl oluşturulur .

UUID

UUID anlamına gelir Evrensel Olarak Benzersiz Tanımlayıcı . UUID'ler Open Software Foundation (OSF) tarafından standartlaştırılmıştır. Dağıtıcı Bilgi İşlem Ortamının (DCE) bir parçasıdır. UUID, 36 karakter (128 bit) uzunluğunda benzersiz bir sayıdır. Aynı zamanda şu şekilde de bilinir: Küresel Benzersiz Tanımlayıcı (GUID).

Java UUID Oluştur

UUID'nin kullanımı duruma, kullanım senaryolarına, karmaşıklığa ve koşullara bağlıdır. UUID'nin bazı kullanım alanları şunlardır:

  • Benzersiz URN (Tekdüzen Kaynak Adları) oluşturmak için kullanılır.
  • Ayrıca işlem kimlikleri oluşturmak için de kullanılabilir.
  • Kriptografik uygulamalarda yaygın olarak kullanılır.
  • Bir web uygulamasında oturum kimlikleri oluşturmak için kullanılabilir.

UUID Türleri

Dört tür UUID vardır:

  • Zamana dayalı UUID (sürüm 1)
  • DCE güvenlik UUID'si (sürüm 2)
  • İsme dayalı UUID (sürüm 3 ve 5)
  • Rastgele Oluşturulan UUID (sürüm 4)

UUID'nin çeşitleri

UUID'nin birçok çeşidi vardır ancak Liç tuzu varyantı yaygın olarak kullanılmaktadır. Varyant 2'nin düzeni, yani. Liç tuzu Şöyleki:

MSB'ler aşağıdaki imzasız alanlardan oluşur:

0xFFFFFFFF00000000 zaman_düşük

0x00000000FFFF0000 time_mid

0x000000000000F000 sürümü

0x0000000000000FFF time_hi

LSB'ler aşağıdaki imzasız alanlardan oluşur:

0xC0000000000000000 varyantı

0x3FFF000000000000 saat_seq

0x0000FFFFFFFFFFFF düğümü

Değişken alanı, UUID'nin düzenini tanımlayan bir değer içerir. Yukarıda tartışılan düzen yalnızca varyant 2 için geçerlidir.

Java UUID Sınıfı

Oluşturmak için UUID Java programlama dili UUID sınıfını sağlar. Sınıfın ait olduğu java.util paket. Object sınıfını genişletir ve uygular. serileştirilebilir Ve karşılaştırılabilir arayüz. Sınıf, 128 bitlik bir değeri temsil eden değişmez bir UUID üretir.

Java UUID Sınıf Yöntemleri

Yöntemler Tanım
saat Sırası() Bu belirtilen UUID ile ilişkili saat dizisi değerini döndürür.
karşılaştırmak() Yöntem, UUID'yi belirli UUID ile karşılaştırır.
eşittir() Yöntem bu nesneyi belirtilen nesneyle karşılaştırır.
fromString() String gösteriminden bir UUID oluşturur.
getLeastSignificantBits() Bu UUID'nin 128 bitlik değerinin en az anlamlı 64 bitini döndürür.
getMostSignificantBits() Bu UUID'nin 128 bitlik değerinin en anlamlı 64 bitini döndürür.
hash kodu() Bu UUID için bir karma kodu döndürür.
nameUUIDFromBytes() Belirtilen bayt dizisine göre sürüm-3 (isim tabanlı) UUID'yi alır.
düğüm() Belirtilen UUID ile ilişkili bir düğüm değeri döndürür.
rastgeleUUID() Rastgele oluşturulmuş bir UUID döndürür.
zaman damgası() Belirtilen bu UUID ile ilişkili bir zaman damgası değeri döndürür.
toString() Bu UUID'yi temsil eden bir String nesnesi döndürür.
değişken() Belirtilen UUID ile ilişkili değişkeni almak için kullanılır.
sürüm() Belirtilen UUID ile ilişkili sürüm numarasını alabiliriz.

UUID oluşturma

Aşağıdaki örnek rastgele bir UUID oluşturur.

UUIDExample.java

 import java.util.UUID; public class UUIDExample { public static void main(String args[]) { //generates random UUID UUID uuid=UUID.randomUUID(); System.out.println(uuid); } } 

Çıktı:

 2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89 

Dizeden UUID'ye dönüştürme

StringToUUIDExample.java

 import java.util.UUID; public class StringtoUUIDExample { public static void main(String args[]) { //randomly generates a UUID UUID uuid = UUID.randomUUID(); System.out.println('Randomly Generated UUID: '+uuid); //converts the randomly generated UUID into String String uuidAsString = uuid.toString(); System.out.println('UUID as String: '+uuidAsString); //generates a UUID from the String UUID sameUuid = UUID.fromString(uuidAsString); System.out.println('UUID from String: '+sameUuid); //compares UUID generated from the string with the randomly generated UUID System.out.println(sameUuid.equals(uuid)); } } 

Çıktı:

 Randomly Generated UUID: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID as String: fe8a03d7-6495-4231-9843-8ee2f5282620 UUID from String: fe8a03d7-6495-4231-9843-8ee2f5282620 true