Penjana & Pengesah UUID

Cipta UUID v4 rawak kriptografi atau UUID v7 yang boleh diisih, satu atau seribu sekali gus, dan periksa mana-mana UUID atau GUID untuk melihat versi dan timestamp terbenamnya.

Berjalan dalam pelayar andaTanpa pendaftaranTiada apa dimuat naik

UUID yang dijana

Cara menggunakan Penjana UUID

  1. Pilih v4 untuk ID rawak sepenuhnya atau v7 untuk ID yang diisih mengikut masa penciptaan.
  2. Tetapkan berapa banyak yang anda perlukan (sehingga 1,000) dan klik Jana.
  3. Secara pilihan, tukar kepada huruf besar, buang sempang atau balut dengan kurungan untuk GUID gaya Microsoft.
  4. Klik UUID yang besar untuk menyalinnya, atau guna Salin semua / Muat turun .txt untuk satu kelompok.
  5. Tampal mana-mana UUID ke dalam pemeriksa untuk mengesahkannya dan membaca versi, varian dan timestampnya.

Apakah itu UUID?

UUID (Universally Unique Identifier), dipanggil GUID pada platform Microsoft, ialah nilai 128-bit yang ditulis sebagai 32 digit hex dalam lima kumpulan: 8-4-4-4-12. Format ini ditakrifkan dalam RFC 9562, yang menggantikan RFC 4122 pada 2024. Satu digit mengekod versi (digit hex ke-13) dan bit teratas digit ke-17 mengekod varian.

UUID v4 lwn. UUID v7

v4v7
Kandungan122 bit rawakTimestamp milisaat Unix 48-bit + 74 bit rawak
Susunan isihanRawakKronologi
Indeks pangkalan dataSisipan rawak memecah-mecahkan indeks B-treeDitambah di hujung, jauh lebih mesra indeks
Mendedahkan masa penciptaanTidakYa

Guna v7 untuk kunci primer pangkalan data dan ID acara yang susunan sisipannya penting. Guna v4 apabila ID tidak boleh membocorkan bila sesuatu dicipta. Penjana ini memastikan ID v7 sentiasa meningkat walaupun banyak yang dicipta dalam milisaat yang sama.

Sejauh mana ia unik?

Dengan 122 bit rawak, anda perlu menjana kira-kira 2.7 kuintilion UUID v4 sebelum mencapai peluang 50% untuk satu perlanggaran. Halaman ini menggunakan penjana rawak selamat kriptografi pelayar (crypto.getRandomValues), bukan Math.random().

Menjana UUID dalam kod

// JavaScript (browsers, Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
-- PostgreSQL 13+
SELECT gen_random_uuid();

Soalan lazim

Selamatkah UUID ini digunakan dalam produksi?
Ya. Ia dijana secara setempat dengan penjana rawak selamat Web Crypto API dan mematuhi RFC 9562. Tiada apa yang dihantar ke atau dilog oleh pelayan.
Apakah perbezaan antara UUID dan GUID?
Kedua-duanya perkara yang sama. GUID ialah nama Microsoft dan sering ditulis dalam huruf besar dengan kurungan, seperti {3F2504E0-4F89-11D3-9A0C-0305E82C3301}. Guna pilihan di atas untuk menghasilkan format itu.
Bolehkah saya mendapatkan masa penciptaan daripada UUID?
Hanya untuk versi berasaskan masa. v7 menyimpan milisaat Unix dalam 48 bit pertamanya, dan v1 serta v6 menyimpan timestamp 100 nanosaat. Tampal satu ke dalam pemeriksa untuk melihat tarikhnya. v4 tidak mengandungi maklumat masa.
Patutkah saya menggunakan UUID sebagai kunci primer pangkalan data?
Ia berfungsi dengan baik untuk sistem teragih dan ID awam. Utamakan v7 berbanding v4 supaya baris baharu berada di hujung indeks, dan simpan dalam lajur uuid asli atau binari 16 bait dan bukannya rentetan 36 aksara.
Apakah itu nil UUID?
Nilai serba sifar 00000000-0000-0000-0000-000000000000, digunakan sebagai pemegang tempat yang bermaksud “tiada UUID”. RFC 9562 juga mentakrifkan max UUID serba f.

Alat berkaitan