🌐 ID

🎲 Generator Teks Acak

Alat untuk menghasilkan UUID, string acak, kunci keamanan, dan sebagainya. Berguna untuk API key, kata sandi sementara, pembuatan token, dan menghasilkan angka acak secara aman secara kriptografis.

Hasil
※ UUID adalah pengenal unik universal dengan kemungkinan duplikasi yang sangat rendah.
※ Angka acak yang dihasilkan dibuat secara aman secara kriptografis.
※ Dapat digunakan untuk API key, kata sandi sementara, token, dan sebagainya.
PANDUAN

Pelajari lebih lanjut

01

1. Pentingnya Angka Acak dan CSPRNG

Angka acak adalah nilai yang tidak dapat diprediksi dan penting untuk enkripsi, keamanan, game, dan simulasi. Generator acak standar menghasilkan angka pseudo-acak yang dibuat oleh algoritma, sehingga dapat diprediksi jika nilai seed diketahui. Untuk aplikasi yang kritis terhadap keamanan, gunakan CSPRNG (Cryptographically Secure Pseudo-Random Number Generator). random_bytes() dan random_int() milik PHP adalah CSPRNG yang menggunakan /dev/urandom atau CryptGenRandom. JavaScript menyediakan crypto.getRandomValues() yang memanfaatkan sumber entropi browser. Math.random() biasa tidak cocok untuk keamanan dan tidak boleh digunakan untuk token, ID sesi, atau kunci enkripsi.

02

2. UUID dan Pengenal Unik

UUID (Universally Unique Identifier) adalah pengenal unik 128-bit dengan kemungkinan tabrakan yang sangat rendah. UUID v4 sepenuhnya acak dan paling banyak digunakan. Formatnya adalah xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, di mana 4 menunjukkan versi dan y menunjukkan varian. UUID v1 berbasis timestamp dan alamat MAC, sehingga bisa diurutkan secara kronologis tetapi menampilkan alamat MAC sebagai risiko keamanan. UUID v7 adalah versi terbaru, berbasis timestamp tetapi tanpa mengekspos informasi pribadi. Menggunakan UUID untuk primary key basis data, nama file, ID sesi, dan sistem terdistribusi memastikan keunikan tanpa koordinasi pusat.

03

3. Pembuatan Kunci Keamanan dan Token

API key, token autentikasi, dan ID sesi harus memiliki entropi yang cukup. Minimal 128 bit (16 byte) direkomendasikan, dengan 256 bit (32 byte) yang lebih aman. Encoding Base64 mengubahnya menjadi string yang aman untuk URL. JWT (JSON Web Token) terdiri dari Header, Payload, Signature, dan memuat informasi di dalam token itu sendiri. Token CSRF mencegah cross-site request forgery dengan menyertakan token unik di setiap formulir. Parameter state pada OAuth 2.0 juga merupakan nilai acak untuk pencegahan CSRF. Token sebaiknya sekali pakai (nonce) atau memiliki waktu kedaluwarsa untuk mencegah replay attack.

04

4. Menerapkan Generator Acak Kriptografis

Sistem operasi mengumpulkan entropi dari noise perangkat keras, timing keyboard/mouse, paket jaringan, dan lain-lain. Linux menyediakan /dev/random (blocking) dan /dev/urandom (non-blocking). /dev/random menunggu saat entropi tidak mencukupi, yang bermasalah di lingkungan server. Kernel modern merekomendasikan system call getrandom(). Windows menggunakan CryptGenRandom (lama) atau BCryptGenRandom (modern). Hardware random number generator (HRNG) memanfaatkan instruksi Intel RDRAND atau chip TPM untuk random sejati. Lingkungan cloud menghadapi kekurangan entropi karena virtualisasi, sehingga menggunakan daemon seperti haveged.

05

5. Angka Acak dalam Blockchain dan Smart Contract

Blockchain adalah lingkungan deterministik sehingga pembuatan angka acak menjadi sulit. Semua node harus memverifikasi hasil yang sama, jadi angka acak biasa tidak dapat digunakan. Menggunakan hash blok sebagai sumber acak memungkinkan manipulasi oleh penambang. Chainlink VRF (Verifiable Random Function) menyediakan keacakan yang dapat diverifikasi untuk lotere on-chain dan minting NFT. Skema Commit-Reveal mengharuskan peserta mengirim hash terlebih dahulu (commit) lalu mengungkapkan aslinya nanti (reveal) untuk mencegah manipulasi. Random Beacon adalah layanan keacakan publik yang disediakan oleh NIST atau proyek drand. Game smart contract membutuhkan keacakan yang tepercaya.

06

6. Penerapan Praktis Generator Acak

Generator acak online memiliki berbagai kegunaan. Penerbitan API key membutuhkan panjang yang cukup (32+ karakter) dan kompleksitas. Kata sandi sementara menggabungkan angka+huruf+karakter khusus dan ditetapkan untuk sekali pakai. Kode kupon lebih cocok memakai kombinasi huruf besar+angka yang ramah pengguna (misalnya, AB12-CD34-EF56). Kode undangan menggunakan 6-8 karakter yang pendek dan mudah diingat. Kombinasi timestamp+acak mencegah tabrakan nama file. Menggunakan UUID sebagai kunci sharding basis data mengatasi keterbatasan ID auto-increment. Penetapan grup A/B test memastikan keadilan melalui keacakan. Selalu pilih generator acak yang sesuai dengan kebutuhan keamanan.

Pertanyaan umum

Apa perbedaan antara UUID dan string acak biasa?
UUID adalah pengenal standar 128-bit dengan format 8-4-4-4-12 dan kemungkinan tabrakan yang sangat kecil, sehingga ideal untuk kunci basis data. String acak biasa memungkinkan Anda memilih panjang dan set karakter secara bebas (alfanumerik, hanya numerik, heksadesimal), sehingga lebih cocok untuk kata sandi sementara atau kode kupon.
Seberapa aman nilai acak yang dihasilkan?
Alat ini menggunakan pembuatan angka acak aman secara kriptografis dari browser Anda (CSPRNG), yang jauh lebih sulit diprediksi dibanding Math.random() biasa. Ini membuatnya cocok untuk penggunaan sensitif seperti API key atau token autentikasi.
Berapa panjang maksimum yang bisa saya hasilkan?
Anda dapat menentukan panjang apa pun dari 1 hingga 256 karakter, mencakup semuanya dari kode undangan pendek hingga token keamanan panjang.
Untuk apa nilai yang dihasilkan bisa digunakan?
Penggunaan umum termasuk API key, kata sandi sementara, token sesi, kode kupon, dan pengenal unik untuk mencegah tabrakan nama file.
Apakah UUID atau string acak yang dihasilkan disimpan di server?
Tidak, semua pembuatan terjadi di browser Anda dan tidak ada yang dikirim atau disimpan di server.