UUID генератор

Додај на веб-страница Метаинформации

Други алатки

Генерирајте UUID/GUID

Генерирајте UUID/GUID

Универзално единствениот идентификатор (UUID), познат и како Глобално единствен идентификатор (GUID), е широко користен во компјутерските системи.

Тоа е 128-битен код што го генерира системот врз основа на променливи и константи: тековно време, MAC адреса, хаш SHA-1, именски простор MD5. Крајниот резултат од генерирање на UUID, прикажан како алфанумерички код од 32 знаци разделен со цртички, може да изгледа произволен, но всушност тоа е резултат на сложени пресметки. Така, компјутерот не „измислува“ код, туку го формира од специфични технички количини кои се релевантни во дадено време.

Веројатноста дека истиот UUID ќе се генерира на два различни компјутери во различно време се стреми кон нула, што овозможува да се користат добиените кодови за идентификација на точка/локален податок без повикување на центарот за координација. Денес, UUID/GUID е сеприсутен и во онлајн и во офлајн мрежи и ефикасно функционира не само во глобалниот интернет простор, туку и во самостојни компјутерски системи.

Историја на UUID

128-битните UUID кодови првпат беа користени од американската компанија Apollo Computer во 1980-тите. Тие беа засновани на поедноставните 64-битни кодови што се користат во Domain/OS и најдоа широка употреба во компјутерската околина на Open Software Foundation.

Со доаѓањето на првите Windows платформи, глобално единствениот идентификатор беше генерализиран и стандардизиран. Мајкрософт го усвои дизајнот DCE од Apollo Computer и го регистрираше именскиот простор URN во RFC 4122. Во 2005 година, вториот беше предложен како нов стандард од IETF, а UUID беше стандардизиран во рамките на ITU.

Порано во 2002 година, беа идентификувани проблеми со перформансите на системот при користење на UUID како примарни клучеви во локалните бази на податоци. Тие беа поправени во верзијата 4 со додавање на неслучајна наставка врз основа на времето на системот на компјутерот. Таканаречениот пристап COMB (Combined GUID Time Identifier) ​​ги зголеми ризиците од дуплирање на кодот, но во исто време значително ги подобри перформансите при работа со Microsoft SQL Server.

Со развојот на ИТ технологиите, универзалниот единствен идентификатор престана да биде високо специјализирана техничка алатка и денес секој може да го користи. Веројатноста за повторување на генерираните шифри не е еднаква на нула, туку се стреми кон неа, а сите дигитални информации може да се идентификуваат од нив, по што тие можат да се комбинираат во единечни податочни низи со минимални ризици од повторување.

Поволности на UUID

Генераторите на глобални уникатни кодови не бараат централизирано усогласување/синхронизација на податоците и се слободно достапни за сите корисници. Главните предности на UUID вклучуваат:

  • Минимални ризици од „судир“ (повторување) на шифрите. И покрај нивната масовна употреба, веројатноста за повторување се стреми кон нула.
  • Можност за спојување на различни низи податоци користејќи UUID како примарни (уникатни) клучеви.
  • Поедноставена дистрибуција на податоци низ повеќе дисперзирани сервери.
  • Можност за генерирање кодови офлајн.

Уникатните кодови за идентификација, напишани во формат xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, им овозможуваат на дисперзираните системи да препознаваат информации без координација од еден центар за податоци: со речиси нула веројатност за грешки/повторувања. Оваа функција, заедно со леснотијата на користење и ниските барања за компјутерски перформанси, го прави UUID баран и неопходен во широк спектар на ИТ индустрии и автономни компјутерски системи.

Универзално единствен идентификатор

Универзално единствен идентификатор

UUID може да генерира кодови користејќи различни алгоритми и променливи/константни вредности.

Постојат вкупно 5 верзии на идентификаторот, користејќи системски датум/време и MAC адреси, безбедносни протоколи DCE, хаш MD5, хаш SHA-1 и именски простор кога се генерираат.

Во сите случаи, конечниот резултат се прикажува во формат xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx (број во хексадецимална нотација, кој се состои од мали латински букви и броеви и поделен со цртички на пет блока: 8-4 -4-4- 12), M значи верзија, N значи UUID варијанта.

Така, системот користи 36 знаци истовремено (26 букви и 10 бројки), така што веројатноста за повторување на шифрите од 32 цифри се стреми кон нула, и покрај фактот што тие секојдневно се генерираат од милиони корисници ширум светот.

Верзии на UUID

Верзија 1

Првата верзија на единствениот идентификатор, при генерирање на кодот, се заснова на MAC адресата на компјутерот и неговото системско време, што ја менува неговата нумеричка вредност 1 пат во секунда. Процесот на генерирање се состои од пет фази:

  • Пониските 32 бита информации се земени од ознаката UTC. Тие се претвораат во 8 хексадецимални знаци и зафаќаат 4 бајти.
  • Просечни 16 бита информации се земени од истата ознака UTC и се претвораат во 4 хексадецимални знаци кои зафаќаат 2 бајти.
  • Горните 12 бита информации од ознаката UTC се земаат и се претвораат во уште 4 хексадецимални знаци.
  • Уште 1-3 бита паѓаат на редоследот на часовникот и ги намалуваат ризиците од судири со воведување степен на случајност/неизвесност. Времето на системот или условно се забавува или се враќа назад - така што два или повеќе идентификатори кои работат на ист компјутер во исто време не се „вкрстуваат“.
  • Останатите 6 бајти се константна вредност генерирана врз основа на MAC адресата на уредот. Се состои од 12 хексадецимални знаци и има големина од 48 бита.

Бидејќи алгоритмот на првата верзија на UUID е нераскинливо поврзан со времето на системот, употребата на секвенцата на часовникот е задолжителна. Во спротивно, ризиците од генерирање на истите кодови се зголемуваат многукратно - во текот на секундата кога системското време „замрзнува“ на една или друга вредност.

Верзија 2

Втората верзија е минимално различна од првата и ретко се користи во пракса. Наместо редослед на часовник, користи системски идентификатор поврзан со кориснички податоци или други уникатни вредности кои не се повторуваат на други компјутери или се повторуваат многу ретко. Ефектот на случајноста во втората верзија е минимизиран и може да се користи за подобрување на безбедноста на дистрибуираната компјутерска средина.

Верзии 3 и 5

Тие имаат многу заедничко: користат уникатни имиња и имиња (од просторот MD5) за да креираат кодови, односно неслучајни вредности. Само верзијата 3 користи стандарден хаш, додека верзијата 5 користи хаш SHA-1. Таквите идентификатори се помалку зависни од случајни променливи.

Верзија 4

Генерацијата на оваа верзија на UUID е повеќе од 90% случајна. Има 6 бита за константни вредности и 122 за произволни. Имплементацијата на алгоритмот е дека 128 бита информации прво се генерираат по случаен избор, а 6 од нив се заменуваат со податоци за верзија и варијанта.

Улогата на генератор на псевдо-случајни броеви во четвртата верзија е максимална и ако има премногу едноставен алгоритам, ризиците од повторувања/судири значително се зголемуваат. И покрај ова, тоа е четвртата верзија која е далеку најчеста и често се користи во пракса.

Опции за UUID

Уникатниот UUID беше рафиниран неколку пати додека се развиваше компјутерската технологија, а денес е претставен во неколку верзии.

Опција 0

Дизајнирано да работи со наследените бази на податоци на Apollo Network Computing System 1.5 од 1988 година. Оваа опција е наназад компатибилна со нив и не е во конфликт со историските UUID на NCS.

Опции 1 и 2

Се користи за да се идентификуваат модерните блокови и низи на податоци, а во форма на канонски текст тие не се разликуваат едни од други, освен по редоследот на пишување на битовите на варијантите. Значи, опцијата 1 користи редослед на бајти со големи ендијани, а опцијата 2 користи наслов-ендијан. Првиот е главниот, а вториот е резервиран за работа со раните GUID од Microsoft Windows.

Опција 3

Во моментов не се користи. Тоа е резервирана верзија за идна употреба - кога ќе се исцрпат можностите на претходните опции.

Повеќето системи го кодираат идентификаторот во big-endian, но има исклучоци. На пример, маршалирањето во библиотеките COM/OLE на Microsoft користи мешан-ендијан додека генерира код од блоковите наслов-ендијан и биг-ендијан. Првата е првите три компоненти на UUID, а втората се последните две.