Rastgele Sayı jeneratör
Tarayıcınızda anında rastgele sayılar oluşturun. Aralığı, sayımı ve biçimi özelleştirin. Ücretsiz, özel ve hiçbir sunucuya veri gönderilmez.
Oluştur
Tarayıcınızda anında rastgele sayılar oluşturun. Aralığı, sayımı ve biçimi özelleştirin. Ücretsiz, özel ve hiçbir sunucuya veri gönderilmez.
Oluştur
Rastgele sayı üreteçleri, tahmin edilebilir bir düzen olmaksızın, belirli bir aralıktaki sayıları üretir. Yaygın uygulamalar arasında zar atma, piyango numaralarını seçme, istatistiksel çalışma için örnekleme, test verileri oluşturma ve tarafsız bir seçimin gerekli olduğu herhangi bir bağlam yer alır. Rastgeleliğin kalitesi kaynağa bağlıdır: zayıf kaynaklar rastgele görünen ancak tespit edilebilir desenlere sahip sayılar üretebilir; Güçlü kaynaklar karmaşık analizlerle bile tahmin edilemez.
Bu oluşturucu, güvenlikle ilgili kullanımlar için tarayıcının kriptografik olarak güvenli rastgele kaynağını (window.crypto.getRandomValues) kullanır ve hızın güvenlikten daha önemli olduğu eğlence kullanımları için isteğe bağlı Math.random geri dönüşünü kullanır. Zar atışları, yarışma seçimleri veya sonuçları etkileyen herhangi bir şey için güvenli kaynak doğru seçimdir.
Çıkış aralığı ve sayısı yapılandırılabilir. Bir sayı, aynı anda birden fazla sayı veya isteğe bağlı benzersizliğe sahip bir dizi (kopya yok) oluşturun. Çıktı formatları düz sayıları, virgülle ayrılmış listeleri ve her satıra bir metin içerir.
Birçok küçük karar, tarafsız rastgele seçimden yararlanır. Bir yarışma için kazananı seçmek, hangi restoranın deneneceğine karar vermek, test senaryolarının sırasını rastgele hale getirmek, bir veri kümesinden satırları örneklemek; bunların hepsi, insan önyargısını dışlayan bir rastgele sayı üreteci tarafından iyileştirilir.
İstatistiksel ve bilimsel çalışmalar aynı zamanda kalite rastgeleliğine de bağlıdır. Monte Carlo simülasyonları, A/B test grubu ataması, test girdilerinin rastgele seçimi ve diğer birçok teknik, istatistiksel olarak tek tip ve incelenen sistem için öngörülemeyen sayılara ihtiyaç duyar.
Aralığı ayarlayın ve sayın, oluşturun.
Rastgele tamsayı oluşturma: crypto.getRandomValues'tan rastgele bir bayt (veya kelime) alın, modulo yanlılığını önlemek için reddetme örneklemesi uygulayın, istenen aralığa eşleyin. Reddetme örneklemesi olmayan düz modülo, kaynağın aralığına eşit şekilde bölünmeyen aralıklar için hafif bir önyargı üretir; ret örneklemesi bunu önler.
Önyargısız tek tip tam sayı oluşturma: bayt > taban (256/aralık) × aralık ise rastgele bayt oluşturun, reddedin ve tekrar deneyin, aksi halde bayt mod aralığını döndürün. Reddetme oranı ortalama olarak en fazla %50'dir, dolayısıyla algoritma zor aralıklarda bile pratik olarak hızlıdır.
Math.random vs crypto.getRandomValues: Math.random daha hızlıdır ancak yeterli çıktı verildiğinde tahmin edilebilecek xorshift veya benzer PRNG'leri kullanır. crypto.getRandomValues kriptografik olarak güvenlidir. Güvenlikle ilgili olmayan kullanımlar için (zar, sıradan seçimler) her ikisi de işe yarar; güvenlik için kripto kullanın.