Panduan Generator UUID: v4, v7, Namespace, dan Format GUID
ToolMellow ·
UUID adalah pengenal 128 bit dengan aturan versi dan varian yang ditentukan. ToolMellow membuat v1, v3, v4, v5, v6, dan v7, serta nilai tetap Nil dan Max. Pilih Versi UUID dan Format UUID, atur batch atau daftar nama, lalu tekan Buat UUID. Pembuatan berjalan secara lokal dalam worker browser.
Setiap versi memenuhi kebutuhan berbeda: pengenal acak, berorientasi waktu, atau dapat diulang dari namespace dan nama. Panduan ini menjelaskan opsi serta batasnya. UUID tidak otomatis menjadi token otorisasi, kata sandi, nilai unik yang diverifikasi secara global, atau bukti waktu kejadian nyata. Contoh adalah ilustrasi tetap, bukan pengenal baru yang dialokasikan untuk produksi.
Cara membuat satu UUID atau batch
Buka Generator UUID, pilih Versi UUID dan Format UUID, lalu aktifkan UUID huruf besar atau Output array JSON bila perlu. Versi default adalah v4. Untuk mode acak, waktu, Nil, atau Max, pilih Jumlah berupa bilangan bulat dari 1 sampai 1000. Untuk v3/v5, masukkan nama dan pilih namespace; Jumlah tidak dipakai untuk output berbasis nama.
Tekan Buat UUID dan periksa versi, representasi, serta nilainya sebelum menyalin atau mengunduh. Mengubah input atau opsi membatalkan hasil lama. Bungkus baris hanya memengaruhi tampilan. Generator ini tidak menyediakan Gunakan hasil sebagai input; salin nilai secara manual jika aplikasi lain memerlukannya.
- Gunakan versi yang diharapkan aplikasi, jangan beralih hanya karena output lain terlihat lebih menarik.
- Dokumentasikan namespace dan aturan representasi nama ketika pengulangan penting.
- Simpan kondisi format dan jam untuk ID waktu; UUID bukan keputusan autentikasi.
Pilih v1, v3, v4, v5, v6, atau v7
RFC 9562 merupakan standar UUID saat ini dan menggantikan RFC 4122. ToolMellow menyediakan enam versi dalam tabel dan dua konstanta khusus. Tidak membuat versi 2 atau tata letak versi 8 kustom. Mengubah format teks tidak mengubah versi atau bit pengenal.
Versi menentukan konstruksi, bukan jaminan keunikan global, kerahasiaan, atau kompatibilitas universal. Basis data atau protokol dapat memiliki aturan versi dan representasi sendiri. Halaman ini membuat pengenal; tidak meminta data registri, tidak menghubungkan basis data, dan tidak mengukur kinerja indeks.
| Mode | Konstruksi dalam alat | Batas yang berguna |
|---|---|---|
| v4 | Keacakan kriptografis | ID acak, bukan timestamp atau sistem token rahasia otomatis |
| v7 | Field waktu Unix dengan penghitung/field acak pustaka | Berorientasi waktu; urutan dibatasi jam dan worker |
| v1 | Timestamp Gregorian, urutan jam, dan node acak | Mengungkap waktu; tidak membaca MAC perangkat |
| v6 | Timestamp Gregorian diurutkan ulang dan node/urutan acak | Field waktu ditempatkan lebih awal dalam pengenal dibanding v1; aturan penyimpanan tetap penting |
| v5 | Namespace dan nama UTF-8 persis memakai SHA-1 | Deterministik, bukan autentikasi berkunci |
| v3 | Namespace dan nama UTF-8 persis memakai MD5 | Konstruksi deterministik lama, bukan penyimpanan kata sandi |
| Nil | UUID tetap semua bit nol | Konstanta berulang, bukan alokasi unik baru |
| Max | UUID tetap semua bit satu | Konstanta berulang, bukan alokasi unik baru |
RFC 9562: UUID, tata letak, namespace, dan contohuuid.js 14.0.2: API pembuatan UUID dan penanganan keadaan
Tata letak UUID, versi, varian, dan istilah GUID
UUID teks standar memiliki 32 karakter heksadesimal dan empat tanda hubung: kelompok 8-4-4-4-12, berjumlah 36 karakter. Untuk versi biasa yang dibuat di sini, karakter heksadesimal pertama pada kelompok ketiga menunjukkan versi. Bit varian memengaruhi awal kelompok keempat, umumnya 8, 9, a, atau b. Nil dan Max adalah kasus khusus, bukan permintaan pembuatan biasa v0 atau v15.
GUID adalah istilah umum untuk pengenal bergaya UUID. Opsi Kurung kurawal · GUID hanya menambahkan kurung pada teks; tidak menghasilkan struktur biner Windows dan tidak mengubah urutan byte. Huruf besar hanya mengubah tampilan huruf heksadesimal. Sintaks yang tampak benar tidak membuktikan pembuatnya dan tidak mengotorisasi akses.
UUID v4: pengenal acak dan batas tabrakan
UUID v4 biasa mencadangkan bit versi dan varian serta memakai keacakan untuk 122 bit lainnya. Jalur pembuatan acak dan waktu membutuhkan dukungan nilai acak kriptografis. Pustaka dapat memakai crypto.randomUUID native untuk v4 jika tersedia, atau implementasi nilai acak kriptografisnya jika tidak. Tidak ada fallback Math.random.
Pembuatan acak membuat tabrakan tidak disengaja kecil kemungkinannya dengan asumsi yang sesuai, tetapi tidak menjamin setiap ID belum digunakan di seluruh dunia. Alat tidak memeriksa duplikat secara eksternal. Bila keunikan penting, gunakan aturan alokasi dan penyimpanan aplikasi, jangan menganggap nilai browser sebagai reservasi global.
RFC 9562: UUID, tata letak, namespace, dan contohuuid.js 14.0.2: API pembuatan UUID dan penanganan keadaanW3C Web Cryptography API: nilai acak kriptografis
Field waktu, jam perangkat, dan urutan batch
v1/v6 menggunakan tata letak timestamp Gregorian dalam unit 100 nanodetik; v6 mengurutkan ulang field. Implementasi browser ini memakai jam perangkat milidetik, sehingga unit format tidak membuktikan ketelitian pengukuran 100 nanodetik. v7 diawali milidetik Unix dan menggabungkan field urutan/penghitung serta acak yang dikelola pustaka; bit sisanya tidak semuanya acak independen di sini.
Pustaka mengelola keadaan jam/penghitung di dalam pekerjaan worker, termasuk penanganan waktu berulang atau mundur pada v7. Setiap pembuatan memakai worker baru, sehingga keadaan tidak dibagikan antar klik, tab, atau perangkat. Timestamp hasil dekode dapat mencerminkan penanganan pustaka, bukan jam nyata yang otoritatif. Tidak ada jaminan urutan monoton antar batch atau terdistribusi; nilai jam di luar jangkauan ditolak.
RFC 9562: UUID, tata letak, namespace, dan contohuuid.js 14.0.2: API pembuatan UUID dan penanganan keadaanWHATWG HTML: worker dan siklus hidup
Informasi waktu dan identitas yang dapat diungkap UUID
v1, v6, dan v7 mengungkap informasi waktu. Di sini v1/v6 memakai field node acak, tidak membaca alamat MAC adaptor jaringan. Implementasi lain mungkin memilih sumber node berbeda. Itu tidak membuat nilai waktu menjadi anonim.
v4 tidak memiliki field waktu pembuatan yang ditentukan; v3/v5 dapat mengungkap hubungan lewat input namespace/nama berulang atau tebakan kandidat. Tidak ada nilai yang otomatis membuktikan identitas, kerahasiaan, atau kepemilikan. Hindari nama nyata sensitif dalam contoh bersama dan rancang otorisasi terpisah dari format pengenal.
RFC 9562: UUID, tata letak, namespace, dan contohuuid.js 14.0.2: API pembuatan UUID dan penanganan keadaan
v3/v5 berbasis nama: baris literal dan pengulangan
Untuk v3/v5, setiap baris yang dipisahkan CRLF, CR, atau LF adalah satu nama. Baris kosong, nama kosong di akhir, spasi, huruf besar/kecil, dan duplikat dipertahankan. Editor kosong menghasilkan UUID satu nama kosong, bukan batch tanpa item. Jumlah tidak mengendalikan mode ini; batasnya 1000 baris nama dan 1000000 unit UTF-16 input.
Versi, namespace, dan nama UTF-8 persis yang sama menghasilkan UUID sama. Alat menolak surrogate tanpa pasangan dan tidak menormalisasi Unicode atau memangkas nama. Bentuk normalisasi yang tampak sama atau spasi akhir dapat mengubah byte. MD5 dan SHA-1 di sini merupakan konstruksi UUID berbasis nama yang distandardisasi, bukan hash kata sandi, enkripsi, atau autentikasi berkunci.
RFC 9562: UUID, tata letak, namespace, dan contohWHATWG Encoding: UTF-8 dan dekode teksECMAScript: isWellFormed pada Stringuuid.js 14.0.2: API pembuatan UUID dan penanganan keadaan
Namespace DNS, URL, OID, X.500, dan kustom
Namespace memilih UUID yang digunakan bersama setiap nama. DNS adalah default; URL, OID, dan X.500 menyediakan konstanta lain dalam tabel. Label tidak melakukan resolusi DNS, tidak mengambil URL, tidak menormalisasi domain, tidak memvalidasi OID, dan tidak mengurai distinguished name X.500. Alat memberikan teks nama UTF-8 literal ke konstruksi terpilih; ikuti aturan representasi tambahan aplikasi.
UUID kustom membutuhkan UUID namespace standar yang valid dengan tanda hubung. Heksadesimal huruf besar diterima; validasi pustaka juga menerima Nil dan Max. Field namespace tidak menerima format ringkas, kurung, atau URN. Hapus mereset namespace kustom ke DNS; tidak mengubah nilai yang sudah diunduh.
| Preset | UUID namespace |
|---|---|
| DNS | 6ba7b810-9dad-11d1-80b4-00c04fd430c8 |
| URL | 6ba7b811-9dad-11d1-80b4-00c04fd430c8 |
| OID | 6ba7b812-9dad-11d1-80b4-00c04fd430c8 |
| X.500 | 6ba7b814-9dad-11d1-80b4-00c04fd430c8 |
RFC 9562: UUID, tata letak, namespace, dan contohuuid.js 14.0.2: API pembuatan UUID dan penanganan keadaan
Contoh namespace DNS yang diketahui
Dengan DNS dan nama persis www.example.com, nilai standar huruf kecil dalam tabel mengulang contoh berbasis nama RFC. Memilih DNS tidak melakukan pencarian jaringan. Domain huruf besar tidak diam-diam dijadikan huruf kecil; itu merupakan nama literal berbeda.
Gunakan contoh tetap ini untuk memeriksa versi dan namespace sebelum menyelidiki konvensi penamaan nyata. Baris berulang menghasilkan nilai berulang pada v3/v5. Hasil deterministik berguna untuk konvensi yang disepakati, tetapi bukan bukti tahan tabrakan bagi semua penggunaan atau sertifikat kepemilikan nama.
| Versi | Nama persis | Output standar |
|---|---|---|
| v3 | www.example.com | 5df41881-3aed-3515-88a7-2f4a814cf09e |
| v5 | www.example.com | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
Output standar, ringkas, kurung, URN, dan JSON
Pemilih format mengubah representasi, bukan bit UUID. Tabel menunjukkan satu nilai v5 tetap dalam empat format. UUID huruf besar mengubah huruf heksadesimalnya; prefiks URN tetap urn:uuid:. Pastikan penerima menerima ejaan terpilih; alat tidak melakukan serialisasi GUID biner dan tidak mengonversi basis data.
Output array JSON membuat array string berindentasi dalam format terpilih; jika tidak, nilai dipisahkan baris baru. Unduh menyimpan toolmellow-result.json bila JSON dipilih, atau toolmellow-result.txt bila tidak. Keduanya unduhan teks UTF-8. Mengubah opsi membatalkan hasil lama; buat hasil baru setelah memilih format.
| Format | Karakter per nilai | Contoh |
|---|---|---|
| Standar | 36 | 2ed6657d-e927-568b-95e1-2665a8aea6a2 |
| Ringkas | 32 | 2ed6657de927568b95e12665a8aea6a2 |
| Kurung kurawal · GUID | 38 | {2ed6657d-e927-568b-95e1-2665a8aea6a2} |
| URN | 45 | urn:uuid:2ed6657d-e927-568b-95e1-2665a8aea6a2 |
RFC 9562: UUID, tata letak, namespace, dan contohuuid.js 14.0.2: API pembuatan UUID dan penanganan keadaan
Nil, Max, dan batas validasi
Nil adalah 00000000-0000-0000-0000-000000000000; Max adalah ffffffff-ffff-ffff-ffff-ffffffffffff. Keduanya nilai khusus tetap. Jumlah dua menghasilkan konstanta sama dua kali, bukan dua ID baru unik. Jangan samakan dengan nilai acak atau versi biasa.
Sintaks UUID valid atau pola versi/varian sesuai tidak membuktikan bahwa nilai belum dialokasikan, rahasia, berasal dari pihak berwenang, atau aman sebagai hak akses akun. Nilai nama dapat diprediksi dari input; nilai waktu mengungkap waktu. Tidak ada registri keunikan, siklus hidup token login, tanda tangan digital, atau layanan autentikasi UUID.
Batas, kemampuan browser, dan pemecahan masalah
Untuk mode acak/waktu/Nil/Max, Jumlah harus bilangan bulat 1 sampai 1000. Mode nama membatasi baris secara terpisah dan total input satu juta unit UTF-16. Impor menolak file 4000000 byte atau lebih serta teks di atas batas. File.text() menghapus BOM UTF-8 awal dan mengganti UTF-8 rusak; pengeditan browser dapat memengaruhi akhir baris. Teks impor bukan sumber nama yang mempertahankan byte mentah.
Mode acak/waktu membutuhkan crypto.getRandomValues. randomUUID native memerlukan konteks aman, tetapi pustaka dapat memakai nilai acak kriptografis tanpa jalur itu; mode nama dan tetap tidak memerlukan keacakan atau crypto.subtle. Jangan menerapkan persyaratan alat hash SHA ke setiap mode UUID. Ketersediaan worker/browser dan pembatasan platform tetap dapat menghambat pembuatan.
| Gejala | Pemeriksaan berikutnya |
|---|---|
| Namespace tidak valid | Gunakan UUID valid 36 karakter dengan tanda hubung dalam field kustom |
| Pengulangan v3/v5 tak terduga | Periksa duplikat, nama kosong, dan namespace/nama persis sama |
| Jumlah output nama keliru | Setiap baris satu nama; baris baru terakhir menambah nama kosong |
| Kesalahan acak atau jam perangkat | Periksa kemampuan yang diperlukan atau jam perangkat sebenarnya |
| Hasil tak terduga setelah impor | Periksa BOM dihapus, penggantian UTF-8, pemisah, dan byte nama |
W3C Web Cryptography API: nilai acak kriptografisuuid.js 14.0.2: API pembuatan UUID dan penanganan keadaanW3C File API: pembacaan Blob sebagai teksWHATWG Encoding: UTF-8 dan dekode teksWHATWG HTML: worker dan siklus hidup
Hapus, pembuatan lokal, dan permintaan situs
Hapus menghilangkan nama/input, hasil, kesalahan, dan riwayat editor serta mereset namespace kustom ke DNS. Versi, Jumlah, Format UUID, huruf besar, JSON, dan Bungkus baris dipertahankan. Memuat ulang atau menutup membuang input/hasil di memori. File unduhan tetap di perangkat; Hapus tidak menjamin penghapusan jejak yang dapat dipulihkan dari memori browser atau sistem operasi.
Pembuatan tidak mengunggah nama, isi file terpilih, atau UUID ke server pembuatan atau registri alokasi. Memuat situs tetap mengirim metadata biasa ke hosting; situs publik memakai Google Analytics untuk kunjungan dengan cookie serta informasi browser/perangkat. Pembuatan lokal tidak berarti anonimitas, tidak menjamin nol permintaan jaringan, dan tidak menjamin ketiadaan pencatatan infrastruktur.
Sematkan generator UUID beserta backlink
Pilih bahasa dan gunakan integrasi di bawah ruang kerja untuk menyalin atau mengunduh HTML yang disediakan. Tempel ke platform yang mengizinkan iframe eksternal dan skrip pengatur ukuran. Cuplikan mencakup backlink terlihat ke halaman UUID ToolMellow dalam bahasa yang sama; pertahankan tautan kredit.
Pratinjau di layar sempit dan periksa papan klip/worker untuk mode terpilih. Sematan mempertahankan versi, batas, dan keadaan lokal; bukan API pengenal jarak jauh atau layanan keunikan bersama. Tautan memakai nofollow dan noopener, dan keberadaannya tidak menjamin peringkat lebih tinggi.
Pertanyaan umum
Bagaimana cara membuat UUID?
Pilih Versi UUID dan Format UUID, atur Jumlah untuk mode acak/waktu/tetap atau namespace/nama untuk v3/v5, lalu tekan Buat UUID. Salin atau unduh teks atau JSON. Default adalah v4.
Apa perbedaan UUID v4 dan v7?
v4 memakai keacakan kriptografis dengan bit versi/varian. v7 memuat milidetik Unix serta field penghitung/acak pustaka. Berorientasi waktu, tetapi tidak menjamin waktu otoritatif atau urutan antar eksekusi, tab, atau perangkat.
Apakah UUID selalu unik?
Tidak ada jaminan global atau pemeriksaan alokasi eksternal. Tabrakan acak kecil kemungkinannya dengan asumsi yang sesuai. Nama duplikat mengulang nilai, Nil/Max tetap. Terapkan aturan keunikan aplikasi bila perlu.
Mengapa UUID v5 mengulang nilai yang sama?
Versi, namespace, dan nama UTF-8 persis sama mengulang UUID. Nama kosong atau duplikat tetap baris terpisah dan dapat mengulang nilai. Tidak dipilih ID acak baru untuk setiap nama berulang.
Apakah Jumlah mengendalikan batch UUID v3/v5?
Tidak. Setiap baris dipisahkan CRLF, CR, atau LF adalah nama, termasuk baris kosong dan nama kosong terakhir. Batch nama mengizinkan hingga 1000 baris dan satu juta unit UTF-16.
Apa yang dilakukan opsi DNS dan URL?
Memilih UUID namespace preset untuk byte nama literal. Tidak meminta DNS, tidak mengambil URL, tidak menormalisasi huruf domain, dan tidak memvalidasi alamat lengkap. Ikuti konvensi penamaan aplikasi.
Apakah UUID v1 mengungkap MAC saya di sini?
Implementasi ini memakai node acak untuk v1/v6, bukan MAC perangkat. Informasi waktu tetap terungkap. Implementasi lain dapat memakai sumber node berbeda; ini bukan jaminan anonimitas.
Apakah urutan waktu UUID v7 dijamin?
Pustaka mengelola jam/penghitung dalam worker pembuatan. Setiap eksekusi memakai worker baru, tanpa jaminan urutan terdistribusi atau antar batch. Kesalahan jam atau penanganan kemunduran dapat memengaruhi informasi waktu.
Apa perbedaan format UUID dan GUID?
GUID adalah istilah terkait UUID yang umum. Opsi kurung hanya membungkus teks UUID. Standar, ringkas, kurung, dan URN merepresentasikan bit sama; tidak mengonversi tata letak biner Windows.
Apakah Nil dan Max nilai unik baru?
Tidak. Semua bit Nil nol, semua bit Max satu. Nilai khusus tetap ini berulang bila dibuat lebih dari satu. Bukan mode acak biasa v0/v15.
Apakah pembuatan UUID selalu memerlukan HTTPS dan hash Web Crypto?
Tidak. Mode acak/waktu memerlukan nilai acak kriptografis; v4 dapat memakai pustaka bila randomUUID native tidak tersedia. v3/v5 memakai hash nama pustaka, Nil/Max tetap. Tidak semuanya memerlukan crypto.subtle atau jalur kemampuan sama.
Apakah UUID otomatis menjadi kata sandi atau token rahasia?
Sintaks tidak membuktikan kerahasiaan, otorisasi, atau siklus token lengkap. Mode nama/waktu/tetap memiliki struktur dapat diprediksi atau terbuka. Rancang autentikasi dan penyimpanan aplikasi, jangan menganggap semua UUID sebagai rahasia.
Apa yang direset Hapus?
Input, output, kesalahan, dan riwayat dihapus serta namespace kustom kembali ke DNS. Versi, Jumlah, format, huruf besar, JSON, dan Bungkus baris tetap. File unduhan tetap di perangkat.
Bisakah generator UUID disematkan di situs saya?
Gunakan HTML sesuai bahasa di bawah ruang kerja, pertahankan backlink ToolMellow terlihat, dan periksa iframe/skrip/papan klip/worker. Sematan memakai mode dan batas yang sama; bukan API alokasi atau keunikan jarak jauh.
Sumber dan bacaan lanjutan
- RFC 9562: UUID, tata letak, namespace, dan contoh
- uuid.js 14.0.2: API pembuatan UUID dan penanganan keadaan
- W3C Web Cryptography API: nilai acak kriptografis
- WHATWG Encoding: UTF-8 dan dekode teks
- ECMAScript: isWellFormed pada String
- W3C File API: pembacaan Blob sebagai teks
- WHATWG HTML: worker dan siklus hidup