Lewati ke konten

Generator Nano ID Gratis - Pembuat ID Unik Aman untuk URL Online

Hasilkan Nano ID aman secara instan! Alat online gratis membuat pengidentifikasi unik yang kompak dan aman untuk URL, 42% lebih pendek dari UUID. Sempurna untuk basis data, API, token & sistem.

Panjang Nano ID yang dihasilkan (1-100 karakter)

Pilih kumpulan karakter untuk Nano ID Anda

Nano ID yang Dihasilkan

Masukkan nilai untuk melihat hasil

Visualisasi

Kalkulator pemuatan...
📚

Dokumentasi

Generator Nano ID membuat string karakter acak yang pendek, disebut Nano ID. Nano ID berfungsi sebagai pengidentifikasi unik untuk hal-hal seperti catatan basis data, URL, dan token API, dan kemungkinan dua ID yang dihasilkan pernah sama sangat kecil.

Apa itu Nano ID?

Nano ID adalah string yang dihasilkan secara acak untuk memberi label pada sesuatu agar dapat dibedakan dari semua hal lainnya. Pengembang perangkat lunak Andrey Sitnik membuat format ini pada 2017 sebagai alternatif yang lebih kecil untuk UUID (Universally Unique Identifier), yaitu pengidentifikasi sepanjang 36 karakter yang banyak digunakan dalam komputasi. Nano ID bawaan memiliki panjang 21 karakter, dibandingkan dengan 36 karakter pada UUID, sehingga berkurang sekitar 42%.

Cara membuat Nano ID dengan alat ini

Generator di halaman ini membuat Nano ID berdasarkan dua pengaturan.

  1. Panjang: bilangan bulat dari 1 hingga 100. Nilai bawaan adalah 21.
  2. Kumpulan karakter: kelompok karakter yang digunakan untuk membuat ID. Nilai bawaan adalah alfanumerik.

Masukkan panjang, pilih kumpulan karakter, lalu tekan "Generate" untuk membuat ID. Tekan "Copy" untuk menyalinnya, atau "Reset" untuk kembali ke panjang 21 dan kumpulan alfanumerik. ID baru juga muncul secara otomatis setiap kali panjang atau kumpulan karakter berubah. Di bawah tombol, alat ini menampilkan setiap karakter ID sebagai blok berwarna: biru untuk huruf kapital, hijau untuk huruf kecil, oranye untuk angka, dan abu-abu untuk tanda baca.

Jika panjangnya bukan bilangan bulat antara 1 dan 100, alat ini menampilkan pesan "Panjang harus berupa bilangan bulat antara 1 dan 100" dan tidak menghasilkan ID.

Kumpulan karakter yang tersedia

Alat ini menyediakan tujuh kumpulan karakter tetap. Alat ini tidak menerima alfabet khusus yang diketik oleh pengguna. Kumpulan "With Symbols" menambahkan 26 tanda baca berikut ke karakter alfanumerik: ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?.

Kumpulan karakterKarakter yang digunakanUkuran alfabet
Alfanumerik (bawaan)A-Z, a-z, 0–962
Aman untuk URLA-Z, a-z, 0-9, -, _64
Numerik0–910
AlfabetikA-Z, a-z52
Huruf kecila-z26
Huruf kapitalA-Z26
Dengan simbolA-Z, a-z, 0–9 dan 26 tanda baca88

Kumpulan alfanumerik dipilih secara bawaan. Kumpulan ini tidak menyertakan tanda hubung dan garis bawah yang digunakan dalam kumpulan yang aman untuk URL, meskipun huruf dan angka saja sudah aman untuk ditempatkan langsung dalam URL.

Rumus Nano ID

Nano ID dibuat dengan memilih sejumlah karakter tetap secara acak dari sebuah alfabet, satu per satu, menggunakan generator bilangan acak yang aman secara kriptografis. Generator tersebut dirancang agar keluarannya tidak dapat diprediksi sebelumnya.

1id = random(alphabet, size)
2

Dengan pengaturan bawaan, alphabet memiliki 62 karakter dan size adalah 21.

Contoh perhitungan

Dengan menggunakan alfabet alfanumerik bawaan dan panjang 21, salah satu ID yang mungkin dihasilkan adalah:

1K7pQ2mZxT9vY4nR8jH3wL
2

Setiap karakter dipilih secara independen dari 62 huruf dan angka, sehingga menjalankan generator dua kali hampir tidak pernah menghasilkan string yang sama.

Cara menghitung probabilitas tabrakan

Karena Nano ID dipilih secara acak, ada kemungkinan, meskipun sangat kecil, dua ID yang dihasilkan akan sama. Ini disebut tabrakan. Kemungkinan terjadinya setidaknya satu tabrakan setelah menghasilkan k ID mengikuti perhitungan yang sama seperti "masalah ulang tahun":

1P(collision) ≈ 1 - e^(-k² / (2n))
2

Di sini, n adalah jumlah ID yang mungkin: ukuran alfabet dipangkatkan dengan panjang ID, atau n = alphabet_size^length.

Contoh perhitungan

Untuk pengaturan bawaan, alfabet sepanjang 62 karakter dan panjang 21 karakter:

1n = 62^21 ≈ 4.4 × 10^37 possible IDs
2

Penyelesaian rumus untuk probabilitas tabrakan sebesar 1% menghasilkan:

1k ≈ 9.4 × 10^17 IDs
2

Artinya, sekitar 940 kuadriliun ID harus dihasilkan sebelum terdapat peluang 1% bahwa dua di antaranya akan sama. Jika satu juta ID dihasilkan setiap detik, jumlah tersebut akan tercapai dalam waktu sekitar 29.700 tahun.

Penggunaan alfabet yang aman untuk URL dengan 64 karakter sedikit meningkatkan jumlah tersebut, menjadi sekitar 1,3 × 10^18 ID untuk risiko 1% yang sama, karena alfabet yang lebih besar menyediakan lebih banyak ID yang mungkin dipilih.

Perbandingan Nano ID dengan pengidentifikasi lain

JenisPanjangCatatan
Nano ID21 karakter, dapat disesuaikanAcak, ringkas, tidak dapat diurutkan berdasarkan waktu
UUID36 karakterFormat standar, didukung secara luas, mengandung tanda hubung
ULID26 karakterDapat diurutkan berdasarkan waktu pembuatan
KSUID27 karakterDapat diurutkan berdasarkan waktu pembuatan, menyertakan stempel waktu
Bilangan bulat yang bertambah otomatisBervariasiSederhana dan berurutan, tetapi dapat diprediksi dan sulit dikoordinasikan di berbagai basis data terpisah

Pertanyaan yang sering diajukan

Berapa panjang dan kumpulan karakter bawaan Nano ID?

Nilai bawaannya adalah 21 karakter dari kumpulan karakter alfanumerik: A-Z, a-z, 0-9, dengan total 62 karakter.

Apakah alat ini mendukung alfabet khusus?

Tidak. Alat ini menyediakan tujuh kumpulan karakter tetap: alfanumerik, aman untuk URL, numerik, alfabetik, huruf kecil, huruf kapital, dan "With Symbols".

Apa perbedaan Nano ID dari UUID?

Nano ID lebih pendek. Nilai bawaannya adalah 21 karakter, sedangkan UUID memiliki 36 karakter, sehingga sekitar 42% lebih pendek. Keduanya dihasilkan secara acak dan tidak berurutan.

Dapatkah Nano ID diurutkan berdasarkan waktu pembuatannya?

Tidak. Nano ID sepenuhnya acak, sehingga tidak memuat informasi tentang waktu pembuatannya. Format seperti ULID atau KSUID dibuat agar dapat diurutkan berdasarkan waktu.

Apakah Nano ID aman digunakan sebagai kunci utama basis data?

Ya. Nano ID sebaiknya disimpan sebagai kolom teks atau string, bukan sebagai angka, dengan indeks unik untuk pencarian yang cepat.

Ada berapa banyak Nano ID yang mungkin?

Jumlahnya bergantung pada panjang dan kumpulan karakter yang dipilih. Dengan alfabet bawaan sepanjang 62 karakter dan panjang 21 karakter, terdapat 62^21, atau sekitar 4,4 × 10^37, ID yang mungkin.

Referensi

  1. Sitnik, Andrey. "Nano ID." GitHub, https://github.com/ai/nanoid.
  2. "Universally unique identifier." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Universally_unique_identifier.
  3. "ULID Spec." GitHub, https://github.com/ulid/spec.