Rastgele Sayı Oluşturucu
Seçenekler
Çıktı
Teknik ayrıntılar
Rastgele Sayı Üreticisi Nasıl Çalışır
Araç Ne Yapar
Rastgele Sayı Üreticisi, Web Crypto API (crypto.getRandomValues) kullanarak kriptografik olarak güçlü rastgele tamsayılar veya kayan noktalı sayılar üretir. Modulo yanlılığını ortadan kaldırmak için reddetme örneklemesi kullanır ve belirtilen herhangi bir aralıkta uniform dağılım sağlar. Yapılandırılabilir minimum, maksimum ve hassasiyet ayarlarıyla tekil değerler veya rastgele sayı kümeleri üretebilirsiniz.
Yaygın Geliştirici Kullanım Senaryoları
Geliştiriciler, tahmin edilemeyen oturum belirteçleri, nonce’lar, piyango seçimleri veya veri kümelerinden rastgele örnekleme gibi güvenliğe duyarlı görevler için kriptografik rastgele sayı üreteçlerini kullanır. Oyun geliştiricileri, adaletin önemli olduğu durumlarda zar atma ve prosedürel üretim için kullanır. QA mühendisleri fuzz test için rastgele test girdileri üretir ve veri bilimciler, yeniden üretilebilirlik gerekmediğinde rastgele örnekleme için kullanır.
Veri Biçimleri, Türleri veya Varyantlar
Araç, keyfi bir aralıkta (dahil sınırlar) tamsayı üretimini ve yapılandırılabilir ondalık hassasiyetle kayan noktalı sayı üretimini destekler. Reddetme örneklemesi, aralık rastgele kaynağın çıktı uzayını eşit olarak bölmediğinde modulo yanlılığına neden olacak değerleri eler. Alttaki entropi, işletim sisteminin CSPRNG’sinden (Windows’ta CryptGenRandom, Unix’te /dev/urandom) gelir ve tarayıcının Web Crypto API’si üzerinden sunulur.
Yaygın Hatalar ve Sınır Durumları
Kriptografik rastgelelik Math.random()’dan daha yavaştır ve bir çalma listesini karıştırmak gibi güvenlik dışı kullanım durumları için gereksizdir. Reddetme örneklemesi teorik olarak patolojik aralıklar için çok kez döngüye girebilir; ancak pratikte bu ihmal edilebilir. Tarayıcıda üretilen rastgele sayılar yeniden üretilebilirlik için seed edilemez — test için deterministik dizilere ihtiyacınız varsa bunun yerine seed’li bir PRNG kullanın. Maksimum güvenli tamsayı aralığı JavaScript’in Number.MAX_SAFE_INTEGER (2^53 - 1) değeriyle sınırlıdır.
Bu Aracı Ne Zaman Kullanmalı, Ne Zaman Kod Yazmalı
Tek seferlik bir karar, manuel test veya kendi uygulamanızın beklenen aralıklarda değerler ürettiğini doğrulamak için hızlı ve yanlılıksız bir rastgele sayıya ihtiyaç duyduğunuzda bu tarayıcı aracını kullanın. Üretimde, kodunuzda doğrudan crypto.getRandomValues() çağırın veya uygulamanızın hata yönetimi ve loglamasıyla entegre olan dilin yerel CSPRNG işlevlerini (Python’da secrets modülü, Java’da SecureRandom) kullanın.