UUID Generatoru

Oflayn işləyirHeç nə yüklənmirPulsuz, qeydiyyatsız
Vaxt möhürü daşımır, ona görə nə vaxt yaradıldığını açmır
Bir dəfəyə 1.000-ə qədər
Brauzerinizdə oxunur — heç yerə göndərilmir
Versiya—
Variant—
Yaradılıb—

Cihazınızda brauzerin kriptoqrafik təsadüfi ədəd generatoru ilə yaradılır.

UUID yaradın — təsadüfi v4 və ya vaxta görə sıralanan v7 — tək və ya toplu şəkildə, sisteminizin gözlədiyi formatda; istənilən UUID-i geri yapışdırıb versiyasını və yaradılma vaxtını oxuyun.

v4 UUID-in quruluşu

f47ac10b-58cc-4372-a567-0e02b2c3d479 dəyərinə baxın. Üçüncü qrupu açan 4 versiya markeridir, dördüncü qrupu açan a isə variantı kodlaşdırır — onun yuxarı bitləri həmişə 10-dur, ona görə həmin simvol yalnız 8, 9, a və ya b ola bilər. Qalan bütün onaltılıq rəqəmlər təsadüfidir.

Beləliklə 128 bitdən 122-si təsadüfi qalır. Defislər heç bir məlumat daşımır; onlar sadəcə dəyəri oxunaqlı etmək üçündür — defissiz format da eyni dərəcədə düzgündür və hər iki halda 16 baytda saxlanılır.

Toqquşma əslində nə qədər ehtimalsızdır

122 təsadüfi bit 5,3 × 10³⁶ mümkün dəyər verir. Ad günü həddi deyir ki, toqquşmanın ehtimallı olduğu say bu ədədin özü deyil, təxminən onun kvadrat kökündür:

Yaradılan UUIDBir toqquşma şansıSaniyədə milyardla
103 trilyonMilyardda 129 saat
103 kvadrilyonMində 13,3 il
2,7 kvintilyon50 faiz86 il

Buna görə də istismarda təkrarlanan dəyər statistik maraq deyil, təsadüfi mənbə barədə xəta bildirişidir.

Hansı versiyanı seçmək

VersiyaNəyə əsaslanırNə vaxt
v1Vaxt möhürü + MAC ünvanıKöhnə — avadanlıq kimliyini açır
v4TəsadüfiAçıq identifikatorlar üçün standart
v5Ad sahəsi + ad (SHA-1)Eyni giriş eyni ID verməlidir
v7Vaxt möhürü + təsadüfiSıralanan əlavələr lazım olan baza açarları

Tez-tez verilən suallar

v7-ni v4 əvəzinə nə vaxt seçməliyəm?

İdentifikator verilənlər bazasında açar olanda. v4 on altı təsadüfi baytdır, ona görə ardıcıl əlavələr B-ağacı boyunca dağılır və hər biri fərqli səhifəni dəyişir; v7 isə yuxarı bitlərində millisaniyə vaxt möhürü daşıyır, deməli ardıcıl yaradılanlar ardıcıl sıralanır və əlavələr indeksin sonunda qalır. İdentifikator açıqdırsa və heç nə açmamalıdırsa, v4 seçin — v7 onu əlində tutan hər kəsə qeydin təxminən nə vaxt yarandığını bildirir.

Birlikdə yaradılan v7 UUID-lər həqiqətən sıralanır?

Bəli. Bir dəstdəki hər şey eyni millisaniyəni bölüşür, ona görə tək vaxt möhürü onları sıralaya bilməz — qalan bitlər təsadüfi olardı və dəst sıralanan kimi görünüb əslində sıralanmazdı. Bu generator RFC 9562-nin məhz bunun üçün ayırdığı on iki bitdə sayğac saxlayır və sayğac dolanda növbəti millisaniyəyə keçir, beləliklə min ədədlik seriya yaradıldığı sıra ilə çıxır.

4-cü versiya UUID nədir?

128 bitlik identifikatordur: 122 biti təsadüfi, 6 biti isə versiya və variantı bildirən sabit markerlərdir. Onun içində vaxt möhürü, MAC ünvanı və ya sayğac olmadığı üçün nə vaxt və harada yaradıldığı barədə heç nə açmır — açıq identifikatorlar üçün standart seçim olmasının səbəbi elə budur.

İki UUID üst-üstə düşə bilərmi?

Nəzəri olaraq bəli, praktikada yox. 122 təsadüfi bit 5,3 × 10³⁶ mümkün dəyər verir və tək bir toqquşmanın 50 faiz ehtimalına çatmaq üçün təxminən 2,7 kvintilyon UUID yaratmaq lazımdır. Saniyədə bir milyard sürəti ilə bu, 86 il fasiləsiz iş deməkdir. Real həyatda hər təkrarlanan dəyər bəxtsizlikdən deyil, pozulmuş təsadüfi mənbədən gəlir.

UUID-i verilənlər bazasında baş açar kimi işlətmək olar?

İndeksdən asılıdır. Təsadüfi UUID-lər yazmaları B-ağacı boyunca dağıdır, bu da indeksi parçalayır və böyük həcmdə əlavə etmə sürətini aşağı salır — klasterləşdirilmiş indeksli MySQL və SQL Server-də bu real xərcdir. Vaxt möhürünü yuxarı bitlərə qoyan UUIDv7 əlavə etmələri ardıcıl saxlayır və hər iki xüsusiyyəti istəyən yeni sxemlər üçün daha yaxşı seçimdir.

Bunlar təhlükəsiz yaradılır?

Bəli. Mövcud olduqda crypto.randomUUID() işlədilir, olmadıqda versiya və variant bitləri düzgün qoyulmaqla crypto.getRandomValues()-a keçilir. İkisi də əməliyyat sisteminin kriptoqrafik entropiya hovuzundan qidalanır, ona görə nəticə dəvət tokenləri kimi təxmin edilməməli identifikatorlar üçün yararlıdır.

Oxşar alətlər