Çevrimiçi Rastgele Rakam Seti Nasıl Elde Edilir

Kerem Aydın·9 Temmuz 2026·⏱5 dk

Çevrimiçi rastgele rakam üreticiler, PIN kodları, test verileri, CAPTCHA veya istatistiksel örneklemeler için belirli uzunluktaki sayı dizilerini anında oluşturmaya olanak tanır. Güvenlikle ilgili görevler (şifreler, token'lar) için kriptografik olarak güvenli üreticiler (CSPRNG) kullanılmalıdır; basit testler ve oyunlar için ise standart sözde rastgele algoritmalar yeterlidir. Temel ayar parametreleri; dizi uzunluğu, değer aralığı (genellikle 0–9) ve tekrarların dışlanıp dışlanmayacağıdır.

Rastgele Rakam Üreticilere Neden İhtiyaç Duyulur

Rastgele sayı dizileri, yazılım geliştirmeden günlük görevlere kadar çeşitli alanlarda kullanılır. Başlıca kullanım senaryoları şunlardır:

  • Doğrulama ve Erişim: Tek kullanımlık şifreler (OTP), banka kartları için PIN kodları veya giriş doğrulama kodları oluşturma.
  • Yazılım Testi: Veritabanlarının yük kapasitesini kontrol etmek veya girdi işlemenin doğruluğunu test etmek için büyük miktarda test verisi (mock data) üretme.
  • Çekilişler ve Piyangolar: Katılımcılara rastgele numaralar atayarak listeden kazananı adil bir şekilde seçme.
  • Eğitim ve Bilim: İstatistiksel deneyler için örneklemler oluşturma veya zihinden hesaplamayı geliştirmek üzere alıştırmalar üretme.

Rastgelelik türlerini ayırt etmek önemlidir. Finansal işlemler ve güvenlik için öngörülemezlik (kriptografik dayanıklılık) kritiktir. Oyunda zar atışını simüle etmek için basit bir düzgün dağılım yeterlidir.

Üretici Türleri: Hangisini Seçmeli

Tüm çevrimiçi araçlar aynı şekilde çalışmaz. Seçim, bir sonraki sayının tahmin edilmesine veya bulunmasına karşı korumanın ne kadar önemli olduğuna bağlıdır.

Kriptografik Olarak Güvenli Üreticiler (CSPRNG)

İşletim sisteminin entropi kaynaklarını (donanım gürültüsü, işlem zamanlamaları) kullanır.

  • Avantajları: Önceki sayılar bilinse bile bir sonraki sayıyı tahmin etmek imkansızdır. Şifreler ve token'lar için idealdir.
  • Dezavantajları: Genellikle "tohum" (seed) özelliğini desteklemez, çünkü bu güvenliği azaltır.

Sözde Rastgele Üreticiler (PRNG)

Matematiksel algoritmalara (örneğin, Doğrusal Kongrüansiyel Üretici) dayalı çalışır.

  • Avantajları: Hızlıdır ve daha sonra aynı diziyi yeniden oluşturmak için "tohum" (seed) belirlemeye izin verir. Kod hata ayıklama için uygundur.
  • Dezavantajları: Saldırgan algoritmayı ve birkaç önceki sayıyı öğrenirse, sonraki sayıları hesaplayabilir. Gizli kodlar için uygun değildir.

Donanımsal Üreticiler (True RNG)

Fiziksel süreçleri (atmosferik gürültü, radyoaktif bozunma) kullanır. Genellikle özel hizmetler tarafından sunulur (örneğin, random.org).

  • Avantajları: Algoritmalardan bağımsız mutlak rastgelelik.
  • Dezavantajları: Harici bir hizmete bağımlılık, bazen büyük hacimli üretimde daha düşük hız.

Adım Adım Talimat: Üretimi Nasıl Ayarlarsınız

"Sütla" butonuna basmadan önce tam olarak ihtiyacınız olan sonucu elde etmek için parametrelere dikkat edin.

  1. Dizi Uzunluğunu Belirleyin.

    • PIN kodu için: 4–6 rakam.
    • Güçlü bir şifre/token için: 12–32 rakam.
    • Test verileri için: binlerce haneye ulaşabilir.
  2. Değer Aralığını Ayarlayın.

    • Standart: 0-9.
    • Sıfır hariç: 1-9 (başta sıfırın kabul edilmediği dahili tanımlayıcılar için sıkça gerekir).
    • Çift/Tek: Görev spesifik bir örnekleme gerektiriyorsa.
  3. Karakter Tekrarsızlığını Ayarlayın.

    • Tekrarlı: Rakamlar tekrar edebilir (örneğin, 1123). Bu, çoğu kod için standuttur.
    • Tekrarsız: Setteki her rakam benzersizdir (örneğin, 1590). Piyanolar için veya kısa bir kodda çeşitliliği garanti etmek gerektiğinde faydalıdır.
  4. Çıktı Formatını Seçin.

    • Dize: 84920193 (giriş alanına kopyalamak için uygundur).
    • Gruplama: 8492-0193 (okunabilirlik için).
    • Liste/CSV: Tabloya aktarmak için hemen 100 farklı kod üretmeniz gerekiyorsa.

Bir geliştiriciyseniz ve belirli girdi verileriyle ilişkili bir hatayı yeniden oluşturmanız gerekiyorsa, Seed (tohum) desteği olan bir üretici kullanın. Aynı tohumu sabitleyerek, her çalıştırmada özdeş rakam dizileri alırsınız.

Rastgelelik Kalitesinin Kontrol Edilmesi

Önemli görevler için üçüncü taraf bir hizmet kullanıyorsanız, üreticinin dürüstlüğünden emin olmak iyi olur.

  • Görsel Değerlendirme: Uzun bir dizi (100+ rakam) üretirken açık desenler olmamalıdır (örneğin, 123456 veya 111111 nadiren görülür, ancak bunların tamamen yokluğu da şüphelidir).
  • Dağılım: Uzun bir örneklemede, 0'dan 9'a kadar her rakam yaklaşık olarak eşit sıklıkta (%10 oranında) görünmelidir.
  • Mantık Eksikliği: Dizi, matematiksel bir ilerleme göstermemeli veya isteğin zamanına açık bir şekilde bağlı olmamalıdır.

Tablo: Hangi Görev İçin Hangi Üretici

GörevÖnerilen TürUzunlukKarakter TekrarsızlığıGüvenlik Önemi
Kart / Telefon PIN koduCSPRNG4–6Tekrarlara izin verilirYüksek
Tek Kullanımlık Şifre (2FA)CSPRNG6–8Tekrarlara izin verilirKritik
Veritabanı için Test VerileriPRNG (Tohumlu)Herhangi biriGereksinime göreDüşük
Ödül ÇekilişiTrue RNG / CSPRNGKatılımcı sayısına bağlıKesinlikle benzersizOrta (adillik)
CAPTCHA / Bot KorumasıCSPRNG4–5Tekrarsız olması daha iyiOrta

Kullanımda Sık Yapılan Hatalar

  1. Güvenlik için Math.random() kullanımı. Birçok basit çevrimiçi üretici ve komut dosyası, kriptografik olarak güvenli olmayan standart programlama dili fonksiyonlarını kullanır. Saldırgan, tohumu bulup "rastgele" kodlarınızı tahmin edebilir.
  2. Baştaki sıfırın göz ardı edilmesi. 4 haneli bir kod üretilirken 0582 çıkabilir. Sistem otomatik olarak sıfırları keserse (sayı 582'ye dönüşür), kod üç haneli hale gelir ve giriş için uygun olmaz. Hizmetin dize formatını koruyup korumadığını her zaman kontrol edin.
  3. Şüpheli sitelerde hassas veri üretimi. Agresif reklamları olan üretici sitelerde kişisel veriler girmeyin. Rakam üretmenin kendisi güvenlidir, ancak kimlik avı (phishing) veya meta veri toplama riski vardır. Kritik görevler için yerel çevrimdışı araçları veya güvenilir açık kaynak çözümleri kullanmak daha iyidir.

SSS

Şifre oluşturmak için çevrimiçi üreticilere güvenebilir miyim? Düzenli olarak değiştirdiğiniz geçici şifreler için — site HTTPS kullanıyor ve CSPRNG uyguladığını belirtiyorsa — evet. Ana şifreler veya şifreleme anahtarları için yerel şifre yöneticileri veya donanımsal üreticiler kullanmak daha iyidir.

İnternet olmadan gerçekten rastgele sayılar nasıl elde edilir? Çoğu modern cihazda yerleşik üreticiler vardır. Linux/macOS üzerinde terminalde /dev/random veya /dev/urandom kullanabilirsiniz. Windows'ta — powershell -Command "Get-Random" komutu. Ayrıca fiziksel yöntemler (zar atma, piyango topu makinesi) de kullanılabilir.

Seed nedir ve neden gereklidir? Seed (tohum), üretim algoritması için başlangıç değeridir. Aynı seed'i belirtirseniz, üretici aynı sayı dizisini verecektir. Bu, geliştiricilerin hatanın ortaya çıktığı koşulları yeniden oluşturabilmesi için yazılım testinde faydalıdır.

Güvenli bir kod için kaç rakam gerekir? Kaba kuvvet saldırısına (brute-force) karşı korunma için kodun uzunluğu ve yaşam süresi kombinasyonu önemlidir.

  • 4 rakam (10.000 kombinasyon) — yalnızca 3–5 denemeden sonra engelleme varsa güvenlidir.
  • 6 rakam (1.000.000 kombinasyon) — SMS kodları için standarttır.
  • 8+ rakam — yüksek yüklü sistemler için veya giriş deneme engellemesi yoksa önerilir.