Kode

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.

Generator UUID

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.

Pilih v1, v3, v4, v5, v6, atau v7
ModeKonstruksi dalam alatBatas yang berguna
v4Keacakan kriptografisID acak, bukan timestamp atau sistem token rahasia otomatis
v7Field waktu Unix dengan penghitung/field acak pustakaBerorientasi waktu; urutan dibatasi jam dan worker
v1Timestamp Gregorian, urutan jam, dan node acakMengungkap waktu; tidak membaca MAC perangkat
v6Timestamp Gregorian diurutkan ulang dan node/urutan acakField waktu ditempatkan lebih awal dalam pengenal dibanding v1; aturan penyimpanan tetap penting
v5Namespace dan nama UTF-8 persis memakai SHA-1Deterministik, bukan autentikasi berkunci
v3Namespace dan nama UTF-8 persis memakai MD5Konstruksi deterministik lama, bukan penyimpanan kata sandi
NilUUID tetap semua bit nolKonstanta berulang, bukan alokasi unik baru
MaxUUID tetap semua bit satuKonstanta 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.

RFC 9562: UUID, tata letak, namespace, dan contoh

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.

Namespace DNS, URL, OID, X.500, dan kustom
PresetUUID namespace
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8
X.5006ba7b814-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.

Contoh namespace DNS yang diketahui
VersiNama persisOutput standar
v3www.example.com5df41881-3aed-3515-88a7-2f4a814cf09e
v5www.example.com2ed6657d-e927-568b-95e1-2665a8aea6a2

RFC 9562: UUID, tata letak, namespace, dan contoh

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.

Output standar, ringkas, kurung, URN, dan JSON
FormatKarakter per nilaiContoh
Standar362ed6657d-e927-568b-95e1-2665a8aea6a2
Ringkas322ed6657de927568b95e12665a8aea6a2
Kurung kurawal · GUID38{2ed6657d-e927-568b-95e1-2665a8aea6a2}
URN45urn: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.

RFC 9562: UUID, tata letak, namespace, dan contoh

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.

Batas, kemampuan browser, dan pemecahan masalah
GejalaPemeriksaan berikutnya
Namespace tidak validGunakan UUID valid 36 karakter dengan tanda hubung dalam field kustom
Pengulangan v3/v5 tak terdugaPeriksa duplikat, nama kosong, dan namespace/nama persis sama
Jumlah output nama keliruSetiap baris satu nama; baris baru terakhir menambah nama kosong
Kesalahan acak atau jam perangkatPeriksa kemampuan yang diperlukan atau jam perangkat sebenarnya
Hasil tak terduga setelah imporPeriksa 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

Praktikkan.