CodeKitHub
Alat Penjana

Penjana UUID v4 Dalam Talian

Kemas kini terakhir:

UUID versi 4 mengandungi 122 bit rawak, memberi kira-kira 5.3 × 10³⁶ nilai yang mungkin — cukup banyak sehingga menjana pendua secara praktikal mustahil. Jana satu atau banyak UUID rawak (v4) serta-merta. Menggunakan penjana rawak selamat kriptografi pelayar anda — kualiti rawak yang sama seperti sistem operasi anda gunakan. Pilihan untuk output huruf besar dan membuang hyphen.

Apakah alat ini?

UUID (Universally Unique Identifier) ialah pengecam 128-bit yang ditulis sebagai 36 aksara, seperti 550e8400-e29b-41d4-a716-446655440000. UUID versi 4 dijana daripada data rawak, menjadikan perlanggaran begitu tidak mungkin sehingga boleh diabaikan secara praktikal: anda boleh menjana satu bilion UUID sesaat selama berdekad-dekad sebelum pendua menjadi berkemungkinan.

UUID digunakan sebagai kunci utama pangkalan data, ID permintaan untuk penjejakan, nama fail, kunci API, dan di mana-mana sahaja anda perlukan pengecam tanpa perlu berkoordinasi dengan pihak berkuasa pusat.

UUID dipiawaikan dalam RFC 4122, disemak semula pada 2024 sebagai RFC 9562 — semakan ini mengekalkan v4 tanpa perubahan dan menambah UUIDv7, satu varian tersusun mengikut cap masa yang direka untuk mengindeks dengan lebih baik sebagai kunci pangkalan data.

Kenapa guna alat ini?

  • Selamat secara kriptografi: guna crypto.randomUUID(), bukan Math.random() yang lemah.
  • Penjanaan pukal — sehingga 500 UUID sekaligus, satu setiap baris, sedia untuk ditampal.
  • Pilihan huruf besar dan tanpa hyphen untuk sistem dengan keperluan format tertentu.
  • Berjalan luar talian dalam pelayar anda; UUID tidak sekali-kali dihantar ke mana-mana.
  • Percuma dan segera, tanpa log masuk.

Cara menggunakannya

  1. Pilih berapa banyak UUID yang anda perlukan (1–500).
  2. Jika mahu, tanda "Uppercase" atau "Remove hyphens".
  3. Klik "Generate UUIDs".
  4. Klik "Copy All" untuk salin keseluruhan senarai.

Contoh

Input

Bilangan: 3

Hasil

f47ac10b-58cc-4372-a567-0e02b2c3d479
9c858901-8a57-4791-81fe-4c455b099bc9
16fd2706-8baf-433b-82eb-8c7fada847da

Setiap UUID dijana secara berasingan daripada data rawak yang selamat.

Kegunaan biasa

  • Kunci utama pangkalan data: UUID membolehkan anda jana ID sah sebelum insert, berguna untuk aplikasi offline-first atau apabila klien perlu merujuk rekod sebelum pelayan mengesahkannya.
  • Sistem teragih: pelbagai pelayan boleh jana ID secara berasingan tanpa koordinasi dan tanpa risiko perlanggaran — tidak seperti integer auto-increment, yang perlukan satu sumber kebenaran tunggal.
  • Kunci idempotency: menghantar UUID yang sama dengan permintaan API yang dicuba semula membolehkan pelayan mengenal pasti dan mengabaikan penghantaran pendua dengan selamat.
  • Fixture ujian dan data benih: jana beratus-ratus ID unik sekaligus untuk mengisi pangkalan data ujian atau respons API tiruan.
  • Kunci senarai React/Vue: apabila item senarai belum ada ID unik semula jadi, UUID yang dijana berfungsi sebagai kunci stabil semasa pembangunan.

Had yang perlu diketahui

UUID tidak boleh disusun mengikut masa penciptaan — sifat rawak v4 bermakna ID baharu tidak tersusun berdekatan dalam indeks pangkalan data, yang boleh menjejaskan prestasi insert pada skala besar (inilah sebab UUID v7, tersusun mengikut cap masa, wujud sebagai alternatif). Jika anda perlukan susunan mengikut masa serta keunikan, v7 atau ID gaya Snowflake lebih sesuai daripada v4.

UUID sahaja bukan bukti kelayakan keselamatan. Ia sukar diteka dalam erti kata anda tidak boleh meramalkan satu daripada yang lain, tetapi ia tidak pernah direka dengan ciri audit, tamat tempoh atau pembatalan yang diperlukan token pengesahan sebenar — guna pustaka token sesi/API khusus untuk itu.

Bagaimana kerawakan sebenarnya berfungsi

UUID v4 mempunyai 122 bit yang benar-benar rawak (6 bit lain tetap untuk menandakan versi dan variant, mengikut spesifikasi RFC 4122). Alat ini mendapatkan kerawakan itu daripada crypto.getRandomValues() melalui Web Crypto API pelayar — sumber asas yang sama digunakan untuk kunci TLS dan operasi kriptografi lain, bukan Math.random() yang jauh lebih lemah, yang cukup boleh diramal sehingga sesetengah pustaka UUID lama yang dibina atasnya dikritik kerana menjana ID yang boleh diteka.

Untuk meletakkan kebarangkalian perlanggaran dalam bentuk konkrit: dengan 122 bit rawak, anda perlu jana kira-kira 2.71 kuintilion UUID sebelum terdapat kebarangkalian 50% walaupun satu perlanggaran — beberapa magnitud lebih tinggi daripada apa yang mana-mana aplikasi tunggal akan pernah cipta. Inilah sebab UUID v4 dianggap bebas perlanggaran secara praktikal, walaupun ia bukan mustahil secara matematik.

Soalan lazim

Bolehkah dua UUID yang dijana berlanggar?

Secara teori ya, secara praktikal tidak. UUID v4 mempunyai 122 bit rawak. Kebarangkalian perlanggaran kekal boleh diabaikan walaupun selepas menjana trilion UUID — selamat menganggapnya unik.

Apakah perbezaan antara versi UUID?

v1 berasaskan cap masa + alamat MAC (mendedahkan maklumat), v4 sepenuhnya rawak (pilihan paling biasa), v5 diperoleh daripada nama melalui hashing (deterministik), dan v7 rawak tersusun mengikut masa (baik untuk indeks pangkalan data). Alat ini menjana v4.

Adakah UUID ini cukup selamat untuk token?

Ia menggunakan sumber rawak selamat kriptografi, jauh lebih baik daripada Math.random(). Untuk token sesi, penjana token khusus dengan entropi lebih tinggi masih lebih disukai, tetapi UUID v4 sesuai untuk pengecam.

Adakah UUID sama dengan GUID?

Ya. GUID (Globally Unique Identifier) ialah nama Microsoft untuk format 128-bit yang sama. Kedua-dua istilah boleh ditukar ganti.

Adakah UUID yang dijana disimpan atau dilog?

Tidak. Penjanaan berlaku secara tempatan dalam pelayar anda. Tiada apa yang dihantar, disimpan atau dilog — setiap UUID yang anda lihat hanya wujud di skrin anda.

Alat berkaitan