UUID generatoru
Bir dəfəyə birdən yüzədək təsadüfi versiya 4 UUID yaradın və onları siyahı kimi kopyalayın. UUID-lər brauzerinizin kriptoqrafik cəhətdən təhlükəsiz təsadüfi generatoru ilə yaradılır, yoxlayıcı isə daxil etdiyiniz istənilən UUID-in versiyasını və variantını göstərir.
0 simvol · 0 söz · 0 sətir
Tamamilə bu brauzer səkməsində işləyir. Mətniniz heç vaxt yüklənmir və saxlanmır.
UUID versiyaları
Versiya üçüncü qrupun ilk rəqəmidir; variant dördüncü qrupun ilk rəqəmində kodlanır (RFC UUID-ləri üçün 8, 9, a və ya b). Nümunələr RFC 9562-nin test vektorlarıdır.
| Versiya | Əsası | Nümunə |
|---|---|---|
| v1 | Qreqorian vaxt damğası + node (MAC) ID | c232ab00-9414-11ec-b3c8-9f6bdeced846 |
| v3 | Namespace + adın MD5 heşi | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v4 | 122 təsadüfi bit | 919108f7-52d1-4320-9bac-f847db4148a8 |
| v5 | Namespace + adın SHA-1 heşi | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| v6 | ID-lərin vaxta görə sıralanması üçün yenidən düzülmüş v1 vaxt damğası | 1ec9414c-232a-6b00-b3c8-9f6bdeced846 |
| v7 | Unix millisaniyələri + təsadüfi bitlər, sıralana bilən | 017f22e2-79b0-7cc3-98c4-dc0c0c07398f |
| v8 | Tətbiq tərəfindən müəyyən edilən özəl quruluş | 2489e9ad-2ee2-8e00-8ec9-32d5f69181c0 |
UUID nədir və onu necə oxumaq olar
UUID (universal unikal identifikator, Microsoft proqramlarında GUID adlanır) 8-4-4-4-12 qrupları ilə düzülmüş 32 onaltılıq rəqəmlə yazılan 128 bitlik ədəddir, məsələn: f47ac10b-58cc-4372-a567-0e02b2c3d479. O, 2005-ci ildə RFC 4122 ilə standartlaşdırılıb; 2024-cü ilin may ayında bu sənədi RFC 9562 əvəz edib, köhnə versiyalar saxlanılıb və üç yeni versiya əlavə olunub. İki mövqe sabitdir: üçüncü qrupun ilk rəqəmi versiyadır (4372-dəki 4), dördüncü qrupun ilk rəqəmi isə variantı göstərir; RFC-yə uyğun hər UUID üçün bu rəqəm 8, 9, a və ya b olur.
4-cü versiya qalan 122 biti təsadüfi verilənlərlə doldurur. Bu məkan o qədər böyükdür ki, bir təkrarın yaranma ehtimalının 50% olması üçün təxminən 2,7 kvintilyon (2,7 × 10¹⁸) UUID yaratmaq lazımdır. Buna görə sistemlər v4 identifikatorlarını koordinasiya etmədən bir çox maşında müstəqil yaradır. Bu səhifə crypto.randomUUID, o olmadıqda isə crypto.getRandomValues funksiyasından istifadə edir; nəticəsi təxmin edilməz olmaq üçün nəzərdə tutulmayan Math.random heç vaxt işlədilmir. Böyük hərflər və Defissiz seçimləri yalnız formatı dəyişir; dəyər eynidir və əksər parserlər hər iki halı qəbul edir.
v4, v7 və digər versiyalar
1 və 6-cı versiyalar vaxt damğası və node ID-dən qurulur; node ID əvvəlcə kompüterin MAC ünvanı idi və identifikatorun harada və nə vaxt yaradıldığını üzə çıxarır. 3 və 5-ci versiyalar ad məkanını və adı MD5 və ya SHA-1 ilə heşləyir, buna görə eyni giriş həmişə eyni UUID verir. 8-ci versiya fərdi sxemlər üçün sərbəst quruluşdur. Ən vacib yeniliyi 7-ci versiyadır: o, millisaniyələrlə 48 bitlik Unix vaxt damğası ilə başlayır, qalanını təsadüfi bitlərlə doldurur, nəticədə identifikatorlar yaranma vaxtına görə sıralanır.
Bu sıralama verilənlər bazasının əsas açarları üçün v7-ni nəzərdən keçirməyin səbəbidir. Təsadüfi v4 açarları B-tree indeksinin hər yerinə düşür, səhifələri bölür və cədvəl böyüdükcə keş lokallığını pisləşdirir. v7 açarları isə auto-increment sütunu kimi təxminən artan ardıcıllıqla gəlir, üstəlik mərkəzi sayğac olmadan yaradıla bilir. Heç nəyi, o cümlədən yaranma vaxtını açıqlamayan identifikator istəyirsinizsə, v4-ü seçin; əlavə etmə sürəti və vaxt sıralaması vacibdirsə, v7-ni seçin. UUID identifikatordur, sirr deyil: parollar və API sirləri üçün xüsusi parol generatorundan istifadə edin. Digər kodlaşdırıcı və yoxlayıcılar developer alətlərində var.
Tez-tez verilən suallar
- Təsadüfi yaradılmış iki UUID eyni ola bilərmi?
- Nəzəri olaraq bəli, praktikada xeyr. 122 təsadüfi bitlə, təsadüfilik mənbəyi etibarlıdırsa, təxminən 86 il ərzində saniyədə bir milyard v4 UUID yaradılsa belə, bir toqquşmanın ehtimalı yalnız təxminən 50% olar.
- UUID ilə GUID arasında nə fərq var?
- Mahiyyətcə heç bir fərq yoxdur. GUID eyni 128 bitlik identifikatorun Microsoft-dakı adıdır. Bəzi Microsoft alətləri GUID-ləri böyük hərflərlə və ya fiqurlu mötərizədə göstərir; buradakı yoxlayıcı bunu qəbul edir.
- UUID-in hansı versiya olduğunu necə müəyyən etmək olar?
- Üçüncü qrupun ilk rəqəminə baxın: 4 təsadüfi, 7 vaxta görə sıralanan, 1 isə vaxt damğası və node deməkdir. Versiyanı və variantı görmək üçün onu UUID yoxla bölməsinə yapışdırın.
- Verilənlər bazası açarları üçün v4 əvəzinə UUIDv7 istifadə etmək lazımdırmı?
- Çox vaxt bəli. v7 açarları vaxta görə sıralanır, bu da B-tree indekslərini yığcam, əlavə etməni isə sürətli saxlayır. v7 identifikatorunda gömülü yaranma vaxtı gizli qalmalıdırsa, v4 ilə qalın.
- UUID-i parol sıfırlama tokeni kimi istifadə etmək təhlükəsizdirmi?
- Təhlükəsiz generatordan alınan v4 UUID-də 122 təsadüfi bit var, bu da təxmin edilməməsi üçün kifayətdir, lakin bir çox kitabxana aydın bitmə müddəti olan xüsusi token funksiyaları təklif edir. v1 və ya v7 kimi vaxta əsaslanan versiyaları heç vaxt sirr kimi işlətməyin.