logo

Јава Генерате УУИД

УУИД је широко коришћен 128-битни јединствени идентификациони број у рачунарском систему. Састоји се од хексадецималних цифара раздвојених са четири цртице. У овом одељку ћемо разговарати шта је УУИД и како насумично генерисати УУИД (верзија 4) у Јави .

УУИД

УУИД означава Универзално јединствени идентификатор . УУИД-ове стандардизује Опен Софтваре Фоундатион (ОСФ). То је део дистрибутивног рачунарског окружења (ДЦЕ). УУИД је јединствени број од 36 знакова (128-бита). Такође је познат као а Глобално јединствени идентификатор (ГУИД).

тостринг јава
Јава Генерате УУИД

Употреба УУИД зависи од ситуације, случајева употребе, сложености и услова. Неке од употреба УУИД-а су:

  • Користи се за генерисање јединствених УРН (Униформ Ресоурце Намес).
  • Такође се може користити за генерисање ИД-ова трансакција.
  • Широко се користи у криптографским апликацијама.
  • У веб апликацији може се користити за генерисање ИД-ова сесије.

Врсте УУИД-а

Постоје четири типа УУИД-а:

  • УУИД заснован на времену (верзија 1)
  • ДЦЕ безбедносни УУИД (верзија 2)
  • УУИД заснован на имену (верзије 3 и 5)
  • Насумично генерисани УУИД (верзија 4)

Варијанте УУИД-а

Постоји много варијанти УУИД-а, али Леацх со варијанта се широко користи. Распоред варијанте 2 тј. Леацх со је као што следи:

МСБ се састоје од следећих непотписаних поља:

0кФФФФФФФФ00000000 тиме_лов

0к00000000ФФФФ0000 тиме_мид

величине текста латекса

Верзија 0к000000000000Ф000

0к0000000000000ФФФ тиме_хи

ЛСБ се састоје од следећих непотписаних поља:

0кЦ000000000000000 варијанта

0к3ФФФ000000000000 цлоцк_сек

0к0000ФФФФФФФФФФФФ чвор

Поље варијанте садржи вредност која идентификује изглед УУИД-а. Горе описани изглед важи само за варијанту 2.

Јава УУИД класа

За генерисање УУИД , програмски језик Јава обезбеђује класу УУИД. Класа припада јава.утил пакет. Проширује класу Објецт и имплементира сериализабле и упоредиви интерфејс. Класа генерише непроменљив УУИД који представља 128-битну вредност.

Методе класе Јава УУИД

Методе Опис
цлоцкСекуенце() Враћа вредност секвенце сата повезану са овим наведеним УУИД-ом.
у поређењу са() Метод упоређује УУИД са одређеним УУИД-ом.
једнако() Метод упоређује овај објекат са наведеним објектом.
фромСтринг() Он генерише УУИД из Стринг репрезентације.
гетЛеастСигнифицантБитс() Враћа најмање значајна 64 бита 128-битне вредности овог УУИД-а.
гетМостСигнифицантБитс() Враћа најзначајнија 64 бита 128-битне вредности овог УУИД-а.
хасхЦоде() Враћа хеш код за овај УУИД.
намеУУИДФромБитес() Он преузима УУИД верзије 3 (заснованог на имену) на основу наведеног низа бајтова.
ноде() Враћа вредност чвора која је повезана са наведеним УУИД-ом.
рандомУУИД() Враћа насумично генерисан УУИД.
временска ознака() Враћа вредност временске ознаке повезану са овим наведеним УУИД-ом.
тоСтринг() Враћа Стринг објекат који представља овај УУИД.
варијанта() Користи се за добијање варијанте повезане са наведеним УУИД-ом.
верзија() Можемо добити број верзије повезан са наведеним УУИД-ом.

Генерисање УУИД-а

Следећи пример генерише насумични УУИД.

УУИДЕкампле.јава

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

Излаз:

нумпи зерос
 2b733549-d2cc-40f0-b7f3-9bfa9f3c1b89 

Конвертујте из стринга у УУИД

СтрингТоУУИДЕкампле.јава

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

Излаз:

 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