Generator NanoID Acak
Hasilkan NanoID yang aman secara kriptografis - alternatif modern dan ringkas untuk UUID. Dilengkapi dengan alfabet yang dapat disesuaikan (aman untuk URL, heksadesimal, alfanumerik, tanpa karakter mirip), panjang yang dapat disesuaikan (8-64 karakter), kalkulator probabilitas tabrakan, pembuatan massal, dan salin satu klik. Sangat cocok untuk pengembang yang membangun basis data, API, penyingkat URL, dan sistem terdistribusi.
Ad blocker Anda mencegah kami menampilkan iklan
MiniWebtool gratis karena iklan. Jika alat ini membantu, dukung kami dengan Premium (bebas iklan + lebih cepat) atau whitelist MiniWebtool.com lalu muat ulang halaman.
- Atau upgrade ke Premium (bebas iklan)
- Izinkan iklan untuk MiniWebtool.com, lalu muat ulang
Tentang Generator NanoID Acak
Selamat datang di Generator NanoID Acak, alat online yang kuat untuk menghasilkan pengidentifikasi string unik yang aman dan ramah URL. NanoID adalah alternatif modern dan ringan untuk UUID (Universally Unique Identifiers), menawarkan ID yang lebih pendek dengan ketahanan tabrakan yang sebanding. Baik Anda membangun API, database, pemendek URL, atau sistem terdistribusi, generator ini menyediakan ID yang aman secara kriptografis dengan alfabet yang dapat disesuaikan, panjang yang dapat diatur, dan analisis probabilitas tabrakan waktu nyata.
Apa itu NanoID?
NanoID adalah generator ID string unik yang kecil, aman, dan ramah URL yang awalnya dibuat untuk JavaScript oleh Andrey Sitnik. Sejak itu, alat ini telah diporting ke setiap bahasa pemrograman utama. Inovasi utama NanoID adalah menggunakan alfabet yang lebih besar (64 karakter secara default) alih-alih 16 digit heksadesimal UUID, yang berarti lebih banyak entropi per karakter dan ID yang lebih pendek.
Contoh tampilan NanoID default: V1StGXR8_Z5jdHi6B-myT
Perbandingan NanoID vs UUID
| Fitur | NanoID | UUID v4 |
|---|---|---|
| Panjang Default | 21 karakter | 36 karakter (dengan tanda hubung) |
| Ukuran Alfabet | 64 karakter (A-Za-z0-9_-) | 16 karakter (0-9a-f) |
| Entropi | ~126 bit (21 karakter) | ~122 bit (32 digit hex) |
| Aman untuk URL | ✓ Tidak perlu pengkodean | ✗ Tanda hubung perlu pengkodean di beberapa konteks |
| Dapat Dikustomisasi | ✓ Alfabet dan panjang | ✗ Format tetap (8-4-4-4-12) |
| Efisiensi Ukuran | ✓ 6 bit per karakter | ✗ 4 bit per karakter |
| Format | String ringkas | xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx |
Bagaimana Alat Ini Menghasilkan NanoID yang Aman
Keacakan Kriptografis
Generator ini menggunakan modul secrets Python di sisi server, yang menyediakan pembuatan nomor acak yang aman secara kriptografis yang didukung oleh sumber entropi sistem operasi (/dev/urandom di Linux/macOS, CryptGenRandom di Windows). Setiap karakter dalam NanoID dipilih secara independen dan tidak dapat diprediksi dari alfabet yang dipilih.
Preset Alfabet
Kami menawarkan 9 preset alfabet yang dikurasi dengan cermat untuk mencocokkan berbagai kasus penggunaan:
- Default NanoID (64 karakter): Alfabet standar NanoID
A-Za-z0-9_-. Aman untuk URL, ringkas, dan kompatibel secara luas. 6 bit entropi per karakter. - Alfanumerik (62 karakter): Huruf dan digit saja, tanpa karakter khusus. Aman untuk nama file, kolom database, dan konteks di mana simbol menyebabkan masalah.
- Heksadesimal (16 karakter): Format hex tradisional. Berguna saat ID perlu diintegrasikan dengan sistem berbasis hex seperti warna CSS atau intisari hash.
- Hanya Angka (10 karakter): Hanya ID numerik. Baik untuk nomor pesanan, kode referensi, atau sistem yang hanya menerima digit.
- Huruf Kecil / Huruf Besar (26 karakter): Alfabet huruf tunggal untuk sistem yang tidak peka huruf besar-kecil atau konsistensi visual.
- Tanpa Karakter Mirip (57 karakter): Menghapus karakter yang mudah membingungkan (1/l/I, 0/O/o). Ideal untuk kode yang dapat dibaca manusia seperti tautan undangan, nomor konfirmasi, dan apa pun yang perlu diketik pengguna secara manual.
- Aman-URL (66 karakter): Alfabet diperluas dengan
-._~sesuai karakter tidak dicadangkan RFC 3986. - Alfabet Kustom: Tentukan set karakter Anda sendiri. Karakter secara otomatis dihapus jika ada yang duplikat.
Penjelasan Probabilitas Tabrakan
Probabilitas tabrakan mengukur seberapa besar kemungkinan dua ID yang dihasilkan secara independen identik. Ini diatur oleh masalah ulang tahun (birthday problem) dalam teori probabilitas:
- Total kemungkinan ID: ukuran_alfabet ^ panjang_id. Untuk NanoID default: 64^21 = ~2^126
- Untuk n ID yang dihasilkan: probabilitas tabrakan ~ n^2 / (2 * total_kemungkinan)
- Dengan 1.000 ID: probabilitas sangat kecil secara astronomis (~10^-33)
- Untuk mencapai peluang tabrakan 1% dengan pengaturan default: Anda membutuhkan ~10^18 ID (satu kuintiliun)
Kalkulator probabilitas tabrakan di halaman ini menunjukkan analisis waktu nyata berdasarkan alfabet dan panjang ID yang Anda pilih, membantu Anda membuat keputusan yang tepat tentang konfigurasi ID untuk skala spesifik Anda.
Cara Menggunakan Generator NanoID
- Pilih preset alfabet: Pilih dari 9 preset atau tentukan alfabet kustom. Pratinjau alfabet menunjukkan karakter tepat yang akan digunakan.
- Atur panjang ID: Pilih dari 8 hingga 64 karakter. Standarnya adalah 21, yang memberikan entropi ~126 bit dengan alfabet standar.
- Konfigurasikan pengaturan opsional: Tambahkan awalan untuk ID yang memiliki namespace (misalnya, "usr_", "doc_") dan pilih jumlah (1-50).
- Hasilkan dan salin: Klik "Hasilkan NanoID" untuk membuat ID Anda. Gunakan salin sekali klik untuk ID individu atau salin semua sekaligus.
Kasus Penggunaan untuk NanoID
Kunci Primer Database
NanoID menjadi kunci primer yang sangat baik untuk database. Mereka lebih pendek dari UUID (21 vs 36 karakter), menghemat ruang penyimpanan dan mengurangi ukuran indeks. Gunakan awalan seperti "usr_" atau "ord_" untuk membuat ID mendokumentasikan diri sendiri secara otomatis.
Pengidentifikasi Sumber Daya API
NanoID aman untuk URL secara default, menjadikannya ideal untuk titik akhir REST API: /api/users/V1StGXR8_Z5jdHi6B-myT. Tidak perlu pengkodean URL, dan terlihat bersih di log serta URL.
Pemendek URL
NanoID 10 karakter dengan alfabet default memberikan 64^10 = ~10^18 kemungkinan kombinasi - cukup untuk pemendek URL mana pun. Alfabet No-Lookalike sangat berguna di sini karena pengguna mungkin perlu mengetik URL pendek secara manual.
Token Sesi dan Token CSRF
Karena alat ini menggunakan keacakan kriptografis, ID yang dihasilkan cocok untuk token keamanan. Gunakan panjang yang lebih besar (32-64 karakter) untuk aplikasi keamanan yang sensitif.
Sistem Terdistribusi
NanoID dapat dihasilkan secara independen di beberapa server tanpa koordinasi, tidak seperti integer auto-increment. Probabilitas tabrakan sangat kecil bahkan pada skala masif.
Penamaan File
Gunakan preset Alfanumerik untuk nama file yang aman di semua sistem operasi. Tanpa karakter khusus berarti tidak ada masalah karakter lolos (escaping) di Windows, macOS, atau Linux.
Memilih Panjang yang Tepat
| Panjang | Entropi (64-karakter) | Terbaik Untuk | Ambang Batas Tabrakan 1% |
|---|---|---|---|
| 8 | 48 bit | URL pendek, dataset kecil | ~16 juta ID |
| 12 | 72 bit | Tujuan umum, dataset menengah | ~68 miliar ID |
| 16 | 96 bit | Sistem besar, throughput tinggi | ~280 triliun ID |
| 21 | 126 bit | Default, sebagian besar aplikasi | ~10^18 ID |
| 32 | 192 bit | Token keamanan, ultra-aman | ~10^28 ID |
| 64 | 384 bit | Keamanan maksimum | ~10^57 ID |
Contoh Kode
JavaScript (menggunakan paket nanoid)
// Default: 21 karakter, alfabet aman-URL
const id = nanoid(); // "V1StGXR8_Z5jdHi6B-myT"
// Panjang kustom
const shortId = nanoid(10); // "IRFa-VaY2b"
// Alfabet kustom
import { customAlphabet } from 'nanoid';
const hexId = customAlphabet('0123456789abcdef', 12);
Python (menggunakan paket nanoid)
# NanoID Default
id = generate() # "V1StGXR8_Z5jdHi6B-myT"
# Panjang dan alfabet kustom
id = generate('0123456789abcdef', 12)
Pertanyaan yang Sering Diajukan
Apa itu NanoID dan apa bedanya dengan UUID?
NanoID adalah generator ID string unik yang kecil, aman, dan ramah URL. Secara default panjangnya 21 karakter (vs 36 karakter pada UUID), menggunakan alfabet yang lebih besar (A-Za-z0-9_-) untuk lebih banyak entropi per karakter, aman untuk URL tanpa pengkodean, dan tidak memiliki format tetap atau tanda hubung. NanoID mencapai ketahanan tabrakan yang serupa dengan UUID v4 dalam karakter yang lebih sedikit karena menggunakan 64 simbol alih-alih 16 digit hex.
Seberapa amankah NanoID yang dihasilkan oleh alat ini?
Alat ini menggunakan modul secrets Python, yang menyediakan pembuatan nomor acak yang aman secara kriptografis yang didukung oleh sumber entropi sistem operasi. Setiap karakter dipilih secara independen dan tidak dapat diprediksi. NanoID 21 karakter default dengan alfabet standar memiliki entropi ~126 bit, sebanding dengan UUID v4 yang memiliki ~122 bit.
Panjang NanoID berapa yang harus saya gunakan untuk proyek saya?
Panjang default 21 karakter menyediakan ~126 bit entropi dengan alfabet standar, yang cukup untuk sebagian besar aplikasi. Untuk pemendek URL atau ID yang menghadap pengguna, 8-12 karakter mungkin cukup tergantung pada total jumlah ID Anda. Untuk sistem terdistribusi yang menghasilkan jutaan ID, 21+ karakter menjamin probabilitas tabrakan yang sangat kecil. Gunakan kalkulator probabilitas tabrakan untuk menemukan panjang yang tepat bagi kasus penggunaan spesifik Anda.
Can I use NanoIDs as database primary keys?
Ya, NanoID berfungsi dengan baik sebagai kunci primer database. Mereka ringkas (21 karakter vs 36 pada UUID), aman untuk URL, dan memiliki ketahanan tabrakan yang sangat baik. Namun, tidak seperti integer auto-increment, mereka tidak berurutan - jadi jika database Anda menggunakan indeks B-tree, ID acak dapat menyebabkan lebih banyak pemisahan halaman. Pertimbangkan untuk menggunakan awalan (seperti "usr_" atau "ord_") untuk membuat ID mendokumentasikan diri sendiri secara otomatis.
Apa itu preset alfabet "Tanpa Karakter Mirip" (No-Lookalike)?
Preset No-Lookalike menghapus karakter yang terlihat mirip di banyak font: 1/l/I (angka satu, L kecil, I besar) dan 0/O/o (nol, O besar, o kecil). Ini membuat ID jauh lebih mudah dibaca, ditranskripsi, dan dikomunikasikan secara lisan. Sangat ideal untuk ID yang menghadap pengguna seperti kode undangan, nomor konfirmasi, atau ID apa pun yang perlu diketik manusia secara manual.
Sumber Daya Tambahan
Kutip konten, halaman, atau alat ini sebagai:
"Generator NanoID Acak" di https://MiniWebtool.com/id// dari MiniWebtool, https://MiniWebtool.com/
oleh tim miniwebtool. Diperbarui: 07 Feb 2026