logo

Java Genereer UUID

UUID is een veelgebruikt 128-bits lang uniek identificatienummer in het computersysteem. Het bestaat uit hexadecimale cijfers, gescheiden door vier koppeltekens. In deze sectie zullen we bespreken wat is UUID En hoe u willekeurig UUID (versie 4) kunt genereren in Java .

UUID

UUID betekent Universeel unieke IDentifier . UUID's zijn gestandaardiseerd door de Open Software Foundation (OSF). Het maakt deel uit van de Distributive Computing Environment (DCE). Een UUID is een uniek nummer van 36 tekens (128 bits). Het is ook bekend als een Globaal unieke IDentifier (GUID).

npm cache leegmaken
Java Genereer UUID

Het gebruik van UUID is afhankelijk van de situatie, gebruiksscenario's, complexiteit en omstandigheden. Enkele toepassingen van UUID zijn:

  • Het wordt gebruikt om unieke URN (Uniform Resource Names) te genereren.
  • Het kan ook worden gebruikt om transactie-ID's te genereren.
  • Op grote schaal gebruikt in een cryptografische toepassing.
  • In een webapplicatie kan het worden gebruikt om sessie-ID's te genereren.

Soorten UUID

Er zijn vier soorten UUID's:

  • Op tijd gebaseerde UUID (versie 1)
  • DCE-beveiligings-UUID (versie 2)
  • Op naam gebaseerde UUID (versie 3 en 5)
  • Willekeurig gegenereerde UUID (versie 4)

Varianten van UUID

Er zijn veel varianten van de UUID, maar Zout uitlekken variant wordt veel gebruikt. De indeling van variant 2, d.w.z. Zout uitlekken is als volgt:

De MSB's bestaan ​​uit de volgende niet-ondertekende velden:

0xFFFFFFFF00000000 tijd laag

0x00000000FFFF0000 tijd_mid

0x000000000000F000-versie

0x0000000000000FFF tijd_hi

De LSB's bestaan ​​uit de volgende niet-ondertekende velden:

0xC000000000000000-variant

0x3FFF000000000000 klok_seq

0x0000FFFFFFFFFFFF-knooppunt

Het variantveld bevat een waarde die de lay-out van de UUID identificeert. De hierboven besproken indeling geldt alleen voor variant 2.

typecasting en typeconversie in Java

Java UUID-klasse

Voor het genereren van de UUID , biedt de Java-programmeertaal de UUID-klasse. De klasse behoort tot java.util pakket. Het breidt de Object-klasse uit en implementeert de serialiseerbaar En vergelijkbaar koppel. De klasse genereert een onveranderlijke UUID die een waarde van 128 bits vertegenwoordigt.

Java UUID-klassemethoden

Methoden Beschrijving
klokreeks() Het retourneert de klokvolgordewaarde die is gekoppeld aan deze gespecificeerde UUID.
vergelijk met() De methode vergelijkt de UUID met de specifieke UUID.
is gelijk aan() De methode vergelijkt dit object met het opgegeven object.
vanString() Het genereert een UUID uit de String-representatie.
getLeastSignificantBits() Het retourneert de minst significante 64 bits van de 128-bits waarde van deze UUID.
getMostSignificantBits() Het retourneert de meest significante 64 bits van de 128-bits waarde van deze UUID.
hashCode() Het retourneert een hashcode voor deze UUID.
naamUUIDFromBytes() Het haalt een versie-3 (op naam gebaseerde) UUID op op basis van de opgegeven byte-array.
knooppunt() Het retourneert een knooppuntwaarde die is gekoppeld aan de opgegeven UUID.
willekeurigeUUID() Het retourneert een willekeurig gegenereerde UUID.
tijdstempel() Het retourneert een tijdstempelwaarde die is gekoppeld aan deze opgegeven UUID.
toString() Het retourneert een String-object dat deze UUID vertegenwoordigt.
variant() Het wordt gebruikt om de variant op te halen die is gekoppeld aan de opgegeven UUID.
versie() We kunnen het versienummer verkrijgen dat is gekoppeld aan de opgegeven UUID.

Een UUID genereren

In het volgende voorbeeld wordt een willekeurige UUID gegenereerd.

UUIDEvoorbeeld.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); } } 

Uitgang:

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

Converteer van een string naar een UUID

StringToUUIDEvoorbeeld.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)); } } 

Uitgang:

 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