🔧Toolify

Rastgele Sayı Üreteci (kriptografik güvenlik, benzersiz mod)

Kriptografik olarak güvenli rastgele tam sayılar üretmek için min, max ve adet seçin. Tekrarsız örnekleme için (çekiliş, piyango) 'benzersiz' moduna geçin.

Bir aralık belirleyin ve rastgele sayılar almak için 'Yenile'ye tıklayın.

Nasıl çalışır

Bu neden gerçekten rastgele

Math.random() yerine tarayıcının kriptografik olarak güvenli rastgele kaynağını kullanıyoruz — crypto.getRandomValues. CSPRNG çıktısı önceki değerlerden tahmin edilemez; bu, piyango seçimleri, kumara yakın uygulamalar ve 'rastgele'nin yalnızca 'keyfi' değil gerçek bir gereksinim olduğu her kullanım için önemlidir.

Dağılımı seçilen aralık üzerinde tam olarak düzgün yapmak için reddetme örneklemesi de kullanıyoruz. Naif 'random % aralık' yöntemi, aralık 2³²'ye eşit olarak bölünmediğinde önyargı oluşturur. Reddetme örneklemesi önyargıya yol açacak değerleri atar ve yeniden dener; dolayısıyla aralığınızdaki her sayı tam olarak aynı olasılığa sahip olur.

Benzersiz vs tekrar izinli

Varsayılan mod: her sayı bağımsızdır — tekrarlar oluşabilir. Bu, günlük kullanımda 'rastgele'nin genellikle ifade ettiği şeydir (zar atmak, film seçmek, rastgele test).

Benzersiz mod: tekrarsız örnekleme — bir sayı seçildiğinde aynı grupta tekrar seçilemez. Şunlar için kullanışlıdır: piyango seçimleri (ör. 1-49'dan 6 sayı), çekilişler (kazananları çekme), takım atamaları ve 'M'den N seç' durumları. adet ≤ aralık gerektirir.

Yaygın kullanım senaryoları

Piyango / çekiliş: 1-49'dan 6 benzersiz sayı veya çekilişinizin kullandığı sayı aralığı. 'Benzersiz' modunu açın.

Zar atışları: 1-6 aralığı (veya D20 için 1-20). Her atış bağımsız olsun diye 'benzersiz'i kapalı bırakın.

Test için rastgele örnekleme: spot kontrol için 1-10000'den 10 rastgele kullanıcı ID'si seçin. Tekrarları önlemek için 'benzersiz' kullanın.

Yazı tura simülasyonu: 0-1 aralığı, birden fazla sonuç. Adil kontrol için yazı/tura sayın (büyük örneklerde ~50/50 görürsünüz).

Sık sorulan sorular

Bu çekilişler veya piyangolar için adil mi?

Rastgelelik kriptografik olarak güvenli ve önyargısızdır. Resmi bir piyango için yasal olarak 'adil' olup olmadığı yetkililerin kurallarına bağlıdır — birçoğu sertifikalı donanım RNG'si gerektirir.

Math.random()'dan farkı ne?

Math.random() çıktısı saldırgan tarafından önceki çıktılardan tahmin edilebilen bir algoritma kullanır. crypto.getRandomValues tahmin edilemeyen işletim sistemi düzeyinde kriptografik RNG kullanır. Gerçek adalet için bunu kullanın.

Negatif sayılar alabilir miyim?

Evet. Min'i negatif bir değere ayarlayın.

Maksimum aralık nedir?

JavaScript'in güvenli tam sayı aralığıyla (~2⁵³) sınırlıdır, ancak pratikte sorunsuz biçimde milyarlara kadar çıkabilirsiniz. Reddetme örneklemesi tekniği herhangi bir aralığı doğru işler.

adet > aralık olduğunda 'benzersiz' neden başarısız olur?

1-5'ten 10 benzersiz sayı seçerseniz dördü mevcut değildir. Doğrulama bunu yakalar ve aralığı genişletmenizi veya adedi azaltmanızı ister.

Bu zar atışları için çalışır mı?

Evet — aralığı 1-6'ya (veya zarlarınızın değeri ne ise) ayarlayın ve her atış bağımsız olsun diye 'benzersiz'i kapalı bırakın.

Tohumu kaydedip yeniden üretebilir miyim?

Hayır — güvenli rastgele tasarım gereği tohum içermez. Test için yeniden üretilebilir 'rastgele'ye ihtiyacınız varsa tohumlu PRNG kütüphanesi kullanın.

Veriler bir yere gönderiliyor mu?

Hayır. Üretim tamamen yereldir.

İlgili araçlar

Son güncelleme:

AI promptlarımızı deneyin →