Ana içeriğe geç

Ücretsiz Rastgele Sayı Oluşturucu

Herhangi bir aralıkta rastgele sayılar oluşturun, benzersiz sayı listeleri oluşturun veya zar atın. Kriptografik olarak güvenli rastgelelik kullanır.

Yüklendikten sonra çevrimdışı çalışır

🔒 Her sayı, tarayıcınızın kriptografik olarak güvenli rastgeleliğini (crypto.getRandomValues) kullanır — tahmin edilebilir Math.random() değil, gerçekten adil. Hiçbir şey gönderilmez. Yine de bu sayıları kriptografik anahtar üretimi, güvenlik tokenları veya denetimli piyango/kumar uygulamaları için kullanmayın; bunlar denetlenmiş, donanım onaylı rastgelelik kaynakları gerektirir.

Bir listeden isimle kazanan seçmek veya yazı tura atmak mı istiyorsunuz? Yazı Tura, Çark ve Liste Seçici aracını kullanın →

Yaygın kullanımlar

  • Piyango Numaraları OluşturPowerball, Mega Millions, EuroMillions ve diğer çekilişler için rastgele piyango numaraları seç.
  • Hediye Dağıtımları için Rastgele Kazanan SeçYarışmalar ve hediye dağıtımları için numaralandırılmış bir giriş listesinden adil bir şekilde rastgele bir kazanan seç.
  • Masa Üstü Oyunları için Zar AtD&D ve masa üstü RPG'ler için herhangi bir zar kombinasyonu at - d4, d6, d8, d10, d12, d20, d100.
  • Araştırma için Rastgele ÖrneklemeRastgele örnekler oluştur, rastgele kimlikler ata veya numaralandırılmış bir veri setinden rastgele bir alt küme seç.
  • Test Verileri için Rastgele Numaralar OluşturAlgoritmaları test etmek, veritabanlarını doldurmak ve sistemleri stres test etmek için büyük rastgele sayı listeleri oluştur.

Nasıl çalışır

Bu aracın ürettiği her sayı crypto.getRandomValues'ten gelir — tarayıcının kriptografik olarak güvenli rastgelelik kaynağı, TLS anahtar üretiminde kullanılanla aynı. Üzerinde, basit Math.random() % aralık uygulamalarını etkileyen mod yanlılığını ortadan kaldırmak için elle yazılmış bir reddetme örneklemesi algoritması bulunur; BigInt aritmetiğiyle 2^32'den geniş aralıklar da desteklenir.

  1. 1
    Aralığınızı ve modunuzu ayarlayın
    Tek bir sayı, toplu liste (1000'e kadar) veya çok yüzlü zarlar (d4'ten d100'e) arasında seçim yapın. Listeler için benzersiz değerler zorunlu kılabilir ve isteğe bağlı olarak çıktıyı artan sırada sıralayabilirsiniz.
  2. 2
    crypto.getRandomValues ham entropi çeker
    Her sayı, tarayıcının kriptografik RNG'si tarafından doldurulan bir Uint32Array'den (veya 2^32'den geniş aralıklar için BigUint64Array'den) çekilir — Math.random()'dan değil. Reddetme örneklemesi ardından dağılımı çarpıtacak değerleri atar; böylece aralığınızdaki her tam sayının olasılığı tam olarak eşittir.
  3. 3
    Benzersiz değer modu Fisher-Yates veya reddetme takibi kullanır
    Benzersiz mod açık ve aralık belleğe sığıyorsa (100.000 değere kadar), araç tüm havuzu oluşturur ve Fisher-Yates ile karıştırır. Çok büyük aralıklarda ise değerleri tek tek çeker ve tekrarları atlar — milyarlarca girişli bir dizi oluşturmanın bellek maliyetinden kaçınır.
  4. 4
    Sonuçlar animasyonlu geri bildirimle gelir ve oturum geçmişinde kalır
    Son değerler requestAnimationFrame kullanılarak animasyonla yerine oturur (sayılar için slot makinesi dönüşü, zar modu için yuvarlanan zarlar), ardından istediğiniz zaman kopyalayabileceğiniz kaydırılabilir bir geçmiş günlüğünde görünür. Hiçbir şey tarayıcınızdan çıkmaz.

İlgili araçlar

Sık sorulan sorular