УУИД је широко коришћен 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