Pembuat UUID

Alat lainnya

Putar rodanya{$ ',' | translate $} Pengatur waktu{$ ',' | translate $} Konversi satuan{$ ',' | translate $} Lempar koin{$ ',' | translate $} Pembuat nomor acak{$ ',' | translate $} Lempar dadu{$ ',' | translate $} Kalkulator IMT{$ ',' | translate $} Kalkulator kalori{$ ',' | translate $} Kalkulator BMR{$ ',' | translate $} Kalkulator lemak tubuh{$ ',' | translate $} Kalkulator TDEE{$ ',' | translate $} Timer Tabata{$ ',' | translate $} Kalkulator persentase{$ ',' | translate $} Generator kode QR{$ ',' | translate $} Pembuat kata sandi{$ ',' | translate $} Tes waktu reaksi{$ ',' | translate $} Tes kecepatan mengetik{$ ',' | translate $} Tes CPS{$ ',' | translate $} Penghitung kata{$ ',' | translate $} Konverter kasus{$ ',' | translate $} Perbandingan teks{$ ',' | translate $} Kalkulator hipotek{$ ',' | translate $} Kalkulator pinjaman{$ ',' | translate $} Kalkulator pinjaman mobil{$ ',' | translate $} Kalkulator PPN{$ ',' | translate $} Kalkulator bunga majemuk{$ ',' | translate $} Kalkulator gaji{$ ',' | translate $} Piano virtual{$ ',' | translate $} Generator suara latar{$ ',' | translate $} Metronom{$ ',' | translate $} Kalkulator diskon{$ ',' | translate $} Nomor minggu saat ini{$ ',' | translate $} Kalkulator tip{$ ',' | translate $} Kalkulator waktu{$ ',' | translate $} Kalkulator tanggal{$ ',' | translate $} Kalkulator usia{$ ',' | translate $} Konverter mata uang{$ ',' | translate $} Kalkulator tidur{$ ',' | translate $} Fase bulan{$ ',' | translate $} Pembuat palet warna{$ ',' | translate $} Pemilih warna{$ ',' | translate $} Generator skema warna{$ ',' | translate $} Kalkulator ukuran cincin{$ ',' | translate $} Kalkulator ukuran pakaian{$ ',' | translate $} Kalkulator ukuran sepatu{$ ',' | translate $} Kalkulator ukuran beha{$ ',' | translate $} Kalkulator ovulasi{$ ',' | translate $} Kalkulator kehamilan{$ ',' | translate $} Lambang zodiak{$ ',' | translate $} Tes IQ{$ ',' | translate $} Emoji{$ ',' | translate $} Jam sukat{$ ',' | translate $} Hitung mundur{$ ',' | translate $} Jam weker{$ ',' | translate $} Kalkulator IP subnet{$ ',' | translate $} Tes kecepatan internet{$ ',' | translate $} Alamat IP{$ ',' | translate $} Konverter Base64{$ ',' | translate $} Generator hash MD5{$ ',' | translate $} Editor Markdown{$ ',' | translate $} Generator Lorem Ipsum{$ ',' | translate $} Timer Pomodoro

Hasilkan UUID/GUID

Hasilkan UUID/GUID

Pengidentifikasi Unik Universal (UUID), juga dikenal sebagai Pengidentifikasi Unik Global (GUID), telah banyak digunakan dalam sistem komputer.

Ini adalah kode 128-bit yang dihasilkan oleh sistem berdasarkan variabel dan konstanta: waktu saat ini, alamat MAC, hash SHA-1, namespace MD5. Hasil akhir dari pembuatan UUID, ditampilkan sebagai kode alfanumerik 32 karakter yang dipisahkan oleh tanda hubung, mungkin tampak sewenang-wenang, tetapi sebenarnya ini adalah hasil perhitungan yang rumit. Jadi, komputer tidak “menciptakan” kode, tetapi membentuknya dari kuantitas teknis tertentu yang relevan pada waktu tertentu.

Probabilitas bahwa UUID yang sama akan dihasilkan pada dua komputer yang berbeda pada waktu yang berbeda cenderung nol, yang memungkinkan untuk menggunakan kode yang dihasilkan untuk identifikasi data titik/lokal tanpa referensi ke pusat koordinasi. Saat ini, UUID/GUID ada di mana-mana baik di jaringan online maupun offline, dan bekerja secara efektif tidak hanya di ruang Internet global, tetapi juga di sistem komputer mandiri.

Riwayat UUID

Kode UUID 128-bit pertama kali digunakan oleh perusahaan Amerika Apollo Computer pada 1980-an. Mereka didasarkan pada kode 64-bit sederhana yang digunakan di Domain/OS dan ditemukan digunakan secara luas di lingkungan komputasi Open Software Foundation.

Dengan munculnya platform Windows pertama, pengidentifikasi unik global digeneralisasikan dan distandarisasi. Microsoft mengadopsi desain DCE dari Apollo Computer dan mendaftarkan ruang nama URN di RFC 4122. Pada tahun 2005, URN diusulkan sebagai standar baru oleh IETF, dan UUID dibakukan dalam ITU.

Awal tahun 2002, masalah kinerja sistem teridentifikasi saat menggunakan UUID sebagai kunci utama di basis data lokal. Ini diperbaiki dalam versi 4 dengan menambahkan akhiran non-acak berdasarkan waktu sistem komputer. Apa yang disebut pendekatan COMB (Combined GUID Time Identifier) ​​​​meningkatkan risiko duplikasi kode, tetapi pada saat yang sama meningkatkan kinerja secara signifikan saat bekerja dengan Microsoft SQL Server.

Dengan berkembangnya teknologi IT, pengenal unik universal tidak lagi menjadi alat teknis yang sangat terspesialisasi, dan kini semua orang dapat menggunakannya. Probabilitas pengulangan kode yang dihasilkan tidak sama dengan nol, tetapi cenderung ke sana, dan informasi digital apa pun dapat diidentifikasi olehnya, setelah itu dapat digabungkan menjadi larik data tunggal dengan risiko pengulangan minimal.

Manfaat UUID

Pembuat kode unik global tidak memerlukan rekonsiliasi/sinkronisasi data terpusat dan tersedia gratis untuk semua pengguna. Keuntungan utama UUID meliputi:

  • Resiko "tabrakan" (pengulangan) kode minimal. Meskipun penggunaannya sangat besar, kemungkinan pengulangan cenderung nol.
  • Kemampuan untuk menggabungkan array data yang berbeda menggunakan UUID sebagai kunci utama (unik).
  • Distribusi data yang disederhanakan di beberapa server yang tersebar.
  • Kemampuan untuk menghasilkan kode secara offline.

Kode identifikasi unik, ditulis dalam format xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, memungkinkan sistem yang tersebar untuk mengenali informasi tanpa koordinasi dari satu pusat data: dengan kemungkinan kesalahan / pengulangan yang hampir nol. Fitur ini, bersama dengan kemudahan penggunaan dan sedikit persyaratan untuk performa komputer, membuat UUID diminati dan sangat diperlukan di berbagai industri IT dan sistem komputasi otonom.

Pengenal unik universal

Pengenal unik universal

UUID dapat menghasilkan kode menggunakan algoritme dan variabel/nilai konstan yang berbeda.

Ada total 5 versi pengenal, menggunakan tanggal/waktu sistem dan alamat MAC, protokol keamanan DCE, hash MD5, hash SHA-1, dan namespace saat dibuat.

Dalam semua kasus, hasil akhir ditampilkan dalam format xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx (angka dalam notasi heksadesimal, terdiri dari huruf Latin huruf kecil dan angka, dan dibagi dengan tanda hubung menjadi lima blok: 8-4 -4-4- 12), M adalah versi, N adalah varian UUID.

Dengan demikian, sistem menggunakan 36 karakter sekaligus (26 huruf dan 10 angka), sehingga kemungkinan pengulangan kode 32 digit cenderung nol, meskipun kode tersebut dihasilkan setiap hari oleh jutaan pengguna di seluruh dunia.

Versi UUID

Versi 1

Versi pertama pengidentifikasi unik, saat membuat kode, didasarkan pada alamat MAC komputer dan waktu sistemnya, yang mengubah nilai numeriknya 1 kali per detik. Proses pembuatan terdiri dari lima tahap:

  • Informasi 32 bit yang lebih rendah diambil dari tag UTC. Mereka dikonversi menjadi 8 karakter heksadesimal dan menggunakan 4 byte.
  • Rata-rata 16 bit informasi diambil dari label UTC yang sama dan diubah menjadi 4 karakter heksadesimal yang menempati 2 byte.
  • 12 bit informasi teratas dari tag UTC diambil dan dikonversi menjadi 4 karakter heksadesimal lainnya.
  • 1-3 bit lainnya jatuh pada urutan jam dan mengurangi risiko tabrakan dengan memperkenalkan tingkat keacakan/ketidakpastian. Waktu sistem diperlambat atau disetel ulang secara bersyarat - sehingga dua atau lebih pengidentifikasi yang bekerja di komputer yang sama pada waktu yang sama tidak "menyeberang".
  • 6 byte sisanya adalah nilai konstan yang dihasilkan berdasarkan alamat MAC perangkat. Ini terdiri dari 12 karakter heksadesimal dan berukuran 48 bit.

Karena algoritme versi pertama UUID terkait erat dengan waktu sistem, penggunaan urutan jam adalah wajib. Jika tidak, risiko menghasilkan kode yang sama meningkat berkali-kali - selama detik ketika waktu sistem "membeku" pada satu atau beberapa nilai.

Versi 2

Versi kedua sedikit berbeda dari yang pertama, dan jarang digunakan dalam praktik. Alih-alih urutan jam, ia menggunakan pengidentifikasi sistem yang diikat ke data pengguna atau nilai unik lainnya yang tidak diulang di komputer lain atau sangat jarang diulang. Efek keacakan pada versi kedua diminimalkan, dan dapat digunakan untuk meningkatkan keamanan lingkungan komputasi terdistribusi.

Versi 3 dan 5

Mereka memiliki banyak kesamaan: mereka menggunakan nama dan nama unik (dari ruang MD5) untuk membuat kode, yaitu nilai non-acak. Hanya versi 3 yang menggunakan hash standar, sedangkan versi 5 menggunakan hash SHA-1. Pengidentifikasi tersebut kurang bergantung pada variabel acak.

Versi 4

Pembuatan versi UUID ini lebih dari 90% acak. Ini memiliki 6 bit untuk nilai konstanta, dan 122 bit untuk nilai arbitrer. Implementasi algoritme adalah 128 bit informasi pertama kali dibuat secara acak, dan 6 di antaranya digantikan oleh data versi dan varian.

Peran generator bilangan acak semu dalam versi keempat adalah maksimal, dan jika memiliki algoritme yang terlalu sederhana, risiko pengulangan/tabrakan meningkat secara signifikan. Meskipun demikian, ini adalah versi keempat yang sejauh ini paling umum dan sering digunakan dalam praktik.

Opsi UUID

UUID yang unik telah disempurnakan beberapa kali seiring perkembangan teknologi komputer, dan saat ini disajikan dalam beberapa versi.

Opsi 0

Dirancang untuk bekerja dengan basis data format Apollo Network Computing System 1.5 1988 lama. Opsi ini kompatibel mundur dengan mereka dan tidak bertentangan dengan UUID historis NCS.

Opsi 1 dan 2

Digunakan untuk mengidentifikasi blok dan larik data modern, dan dalam bentuk teks kanonis keduanya tidak berbeda satu sama lain, kecuali urutan penulisan varian bit. Jadi opsi 1 menggunakan urutan byte big-endian, dan opsi 2 menggunakan judul-endian. Yang pertama adalah yang utama, dan yang kedua dicadangkan untuk bekerja dengan GUID awal dari Microsoft Windows.

Opsi 3

Saat ini tidak digunakan. Ini adalah versi cadangan untuk penggunaan di masa mendatang - saat kemungkinan opsi sebelumnya habis.

Sebagian besar sistem menyandikan pengenal dalam big-endian, tetapi ada pengecualian. Misalnya, penyusunan di pustaka Microsoft COM/OLE menggunakan mixed-endian saat membuat kode dari blok title-endian dan big-endian. Yang pertama adalah tiga komponen pertama UUID, dan yang kedua adalah dua komponen terakhir.