Generator Angka Acak
Opsi
Keluaran
Detail teknis
Cara Kerja Generator Angka Acak
Apa yang Dilakukan Alat Ini
Generator Angka Acak menghasilkan bilangan bulat acak atau angka floating-point yang kuat secara kriptografis menggunakan Web Crypto API (crypto.getRandomValues). Alat ini menggunakan rejection sampling untuk menghilangkan modulo bias, sehingga memastikan distribusi yang seragam pada rentang apa pun yang ditentukan. Anda dapat menghasilkan nilai tunggal atau batch angka acak dengan pengaturan minimum, maksimum, dan presisi yang dapat dikonfigurasi.
Kasus Penggunaan Umum untuk Developer
Developer menggunakan generator angka acak kriptografis untuk tugas yang sensitif terhadap keamanan seperti membuat session token yang tidak dapat ditebak, nonce, pilihan lotre, atau sampling acak dari dataset. Developer game menggunakannya untuk lemparan dadu dan pembuatan prosedural ketika keadilan penting. Engineer QA menghasilkan input uji acak untuk fuzz testing, dan data scientist menggunakannya untuk sampling acak ketika reprodusibilitas tidak diperlukan.
Format Data, Tipe, atau Varian
Alat ini mendukung pembuatan bilangan bulat dalam rentang arbitrer (batas inklusif) dan pembuatan floating-point dengan presisi desimal yang dapat dikonfigurasi. Rejection sampling membuang nilai yang akan menyebabkan modulo bias ketika rentang tidak membagi secara merata ruang keluaran sumber acak. Entropi yang mendasarinya berasal dari CSPRNG sistem operasi (CryptGenRandom di Windows, /dev/urandom di Unix) yang diekspos melalui Web Crypto API browser.
Kesalahan Umum dan Kasus Tepi
Keacakan kriptografis lebih lambat daripada Math.random() dan tidak diperlukan untuk penggunaan non-keamanan seperti mengacak playlist. Rejection sampling secara teoretis dapat berulang berkali-kali untuk rentang yang patologis, meskipun dalam praktiknya ini dapat diabaikan. Angka acak yang dihasilkan browser tidak dapat diberi seed untuk reprodusibilitas — jika Anda membutuhkan urutan deterministik untuk pengujian, gunakan PRNG ber-seed sebagai gantinya. Rentang bilangan bulat aman maksimum dibatasi oleh Number.MAX_SAFE_INTEGER JavaScript (2^53 - 1).
Kapan Menggunakan Alat Ini vs Kode
Gunakan alat browser ini ketika Anda membutuhkan angka acak cepat tanpa bias untuk keputusan sekali pakai, pengujian manual, atau memverifikasi bahwa implementasi Anda sendiri menghasilkan nilai dalam rentang yang diharapkan. Untuk penggunaan produksi, panggil crypto.getRandomValues() langsung di kode Anda atau gunakan fungsi CSPRNG bawaan bahasa (modul secrets di Python, SecureRandom di Java) yang terintegrasi dengan penanganan error dan logging aplikasi Anda.