logo

Java Generera UUID

UUID är ett allmänt använt 128-bitars långt unikt identifikationsnummer i datorsystemet. Den består av sexsiffror separerade med fyra bindestreck. I det här avsnittet kommer vi att diskutera vad är UUID och hur man slumpmässigt genererar UUID (version 4) i Java .

UUID

UUID står för Universellt unik ID . UUID är standardiserade av Open Software Foundation (OSF). Det är en del av Distributive Computing Environment (DCE). Ett UUID är 36 tecken (128-bitars) långt unikt nummer. Det är också känt som en Globally Unique IDentifier (GUID).

linux byta namn på mapp
Java Generera UUID

Användningen av UUID beror på situationen, användningsfall, komplexitet och förutsättningar. Några av användningarna av UUID är:

  • Den används för att generera unika URN (Uniform Resource Names).
  • Den kan också användas för att generera transaktions-ID:n.
  • Används ofta i en kryptografisk applikation.
  • I en webbapplikation kan den användas för att generera sessions-ID:n.

Typer av UUID

Det finns fyra typer av UUID:er:

  • Tidsbaserat UUID (version 1)
  • DCE säkerhet UUID (version 2)
  • Namnbaserat UUID (version 3 och 5)
  • Slumpmässigt genererad UUID (version 4)

Varianter av UUID

Det finns många varianter av UUID men Laka salt variant används flitigt. Layouten av variant 2 d.v.s. Laka salt enligt följande:

MSB:erna består av följande osignerade fält:

0xFFFFFFFF00000000 time_low

0x00000000FFFF0000 time_mid

0x000000000000F000 version

0x0000000000000FFF time_hi

LSBs består av följande osignerade fält:

0xC0000000000000000 variant

0x3FFF000000000000 klockföljd

0x0000FFFFFFFFFFFF nod

Variantfältet innehåller ett värde som identifierar layouten för UUID. Den ovan diskuterade layouten är endast giltig för variant 2.

javascript global variabel

Java UUID-klass

För att generera UUID , Java-programmeringsspråket tillhandahåller UUID-klassen. Klassen tillhör java.util paket. Den utökar klassen Object och implementerar serialiserbar och jämförbar gränssnitt. Klassen genererar ett oföränderligt UUID som representerar ett 128-bitars värde.

Java UUID klassmetoder

Metoder Beskrivning
clockSequence() Den returnerar klocksekvensvärdet som är associerat med denna specificerade UUID.
jämföra med() Metoden jämför UUID med det specifika UUID.
lika() Metoden jämför detta objekt med det angivna objektet.
fromString() Den genererar ett UUID från strängrepresentationen.
getLeastSignificantBits() Den returnerar de minst signifikanta 64 bitarna av denna UUID:s 128-bitars värde.
getMostSignificantBits() Den returnerar de mest signifikanta 64 bitarna av denna UUID:s 128-bitars värde.
hash-kod() Den returnerar en hashkod för denna UUID.
namnUUIDFromBytes() Den hämtar ett version-3 (namnbaserat) UUID baserat på den angivna byte-arrayen.
nod() Den returnerar ett nodvärde som är associerat med det angivna UUID.
randomUUID() Den returnerar ett slumpmässigt genererat UUID.
tidsstämpel() Den returnerar ett tidsstämpelvärde som är associerat med detta angivna UUID.
att stränga() Den returnerar ett String-objekt som representerar detta UUID.
variant() Den används för att få varianten associerad med det angivna UUID.
version() Vi kan få versionsnumret som är kopplat till det angivna UUID.

Genererar ett UUID

Följande exempel genererar ett slumpmässigt UUID.

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

Produktion:

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

Konvertera från en sträng till ett UUID

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

Produktion:

 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