UUID on tietokonejärjestelmässä laajalti käytetty 128-bittinen yksilöllinen tunnistenumero. Se koostuu heksadesimaaliluvuista, jotka on erotettu neljällä tavuviivalla. Tässä osiossa keskustelemme mikä on UUID ja kuinka satunnaisesti luodaan UUID (versio 4) Javassa .
UUID
UUID tarkoittaa Yleisesti ainutlaatuinen tunniste . UUID:t ovat Open Software Foundationin (OSF) standardoimia. Se on osa Distributive Computing Environment (DCE) -ympäristöä. UUID on 36 merkkiä (128-bittinen) pitkä yksilöllinen numero. Se tunnetaan myös nimellä a Globaalisti yksilöllinen tunnus (GUID).
UUID:n käyttö riippuu tilanteesta, käyttötapauksista, monimutkaisuudesta ja olosuhteista. Jotkut UUID:n käyttötavoista ovat:
- Sitä käytetään luomaan yksilöllinen URN (Uniform Resource Names).
- Sitä voidaan käyttää myös tapahtumatunnusten luomiseen.
- Käytetään laajasti kryptografisissa sovelluksissa.
- Verkkosovelluksessa sitä voidaan käyttää istuntotunnusten luomiseen.
UUID-tyypit
UUID-tunnuksia on neljää tyyppiä:
- Aikaperusteinen UUID (versio 1)
- DCE-turva-UUID (versio 2)
- Nimipohjainen UUID (versiot 3 ja 5)
- Satunnaisesti luotu UUID (versio 4)
UUID:n muunnelmia
UUID:stä on monia muunnelmia, mutta Huuhtele suola variantti on laajalti käytössä. Variantin 2 asettelu eli Huuhtele suola on seuraava:
lajiteltu arraylist javassa
MSB:t koostuvat seuraavista allekirjoittamattomista kentistä:
0xFFFFFFFF00000000 time_low
0x00000000FFFF0000 time_mid
0x000000000000F000 versio
0x0000000000000FFF time_hei
LSB:t koostuvat seuraavista allekirjoittamattomista kentistä:
lista javalla
0xC000000000000000 versio
0x3FFF000000000000 clock_seq
0x0000FFFFFFFFFFFF-solmu
Muunnelmakentässä on arvo, joka identifioi UUID:n asettelun. Yllä käsitelty asettelu koskee vain versiota 2.
mitä ravel tekee pythonissa
Java UUID-luokka
Luomiseen UUID , Java-ohjelmointikieli tarjoaa UUID-luokan. Luokka kuuluu java.util paketti. Se laajentaa Object-luokkaa ja toteuttaa sarjoitettavissa ja vertailukelpoinen käyttöliittymä. Luokka luo muuttumattoman UUID:n, joka edustaa 128-bittistä arvoa.
Java UUID -luokkamenetelmät
menetelmät | Kuvaus |
---|---|
clockSequence() | Se palauttaa tähän määritettyyn UUID-tunnukseen liittyvän kellosekvenssin arvon. |
vertaa() | Menetelmä vertaa UUID:tä tiettyyn UUID:hen. |
on yhtä suuri () | Menetelmä vertaa tätä objektia määritettyyn objektiin. |
fromString() | Se luo UUID-tunnuksen merkkijonomuodosta. |
getLeastSignificantBits() | Se palauttaa tämän UUID:n 128-bittisen arvon vähiten merkitsevät 64 bittiä. |
getMostSignificantBits() | Se palauttaa tämän UUID:n 128-bittisen arvon merkittävimmät 64 bittiä. |
hash koodin() | Se palauttaa hajakoodin tälle UUID:lle. |
nimiUUIDFromBytes() | Se noutaa version 3 (nimipohjaisen) UUID:n määritetyn tavutaulukon perusteella. |
solmu() | Se palauttaa solmun arvon, joka liittyy määritettyyn UUID-tunnukseen. |
satunnainenUUID() | Se palauttaa satunnaisesti luodun UUID:n. |
aikaleima() | Se palauttaa tähän määritettyyn UUID-tunnukseen liittyvän aikaleiman arvon. |
toString() | Se palauttaa tätä UUID-tunnusta edustavan merkkijono-objektin. |
variantti() | Sitä käytetään määritettyyn UUID-tunnukseen liittyvän muunnelman saamiseksi. |
versio() | Voimme saada määritettyyn UUID-tunnukseen liittyvän versionumeron. |
Luodaan UUID-tunnusta
Seuraava esimerkki luo satunnaisen UUID:n.
UUIDEesimerkki.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); } }
Lähtö:
2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89
Muunna merkkijonosta UUID:ksi
StringToUUIDEesimerkki.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)); } }
Lähtö:
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