Atsitiktinių skaičių generatorius internetu | Nemokamai

Greitieji nustatymai:
Skyriklis kopijuojant

Kaip veikia atsitiktinių skaičių generatorius?

Mūsų generatorius naudoja kriptografiškai saugius atsitiktinius skaičius iš Web Crypto API (crypto.getRandomValues()). Priešingai nei Math.random(), kuris yra pseudonaujas ir netinkamas saugumo ar statistikos tikslams, crypto.getRandomValues() suteikia tikrąją entropiją iš sistemos šaltinio.

Visas generavimas vyksta tiesiogiai jūsų naršyklėje – jokie skaičiai nėra siunčiami į serverį.

Generatoriaus funkcijos

Pagrindiniai nustatymai

  • Minimalus ir maksimalus – nustatykite bet kokį sveikųjų ar dešimtainių skaičių diapazoną
  • Skaičių skaičius – vienu metu sugeneruokite nuo 1 iki 10 000 skaičių
  • Pasikartojimai – uždrauskite skaičių pasikartojimą (tinka loterijoms)
  • Rūšiavimas – rezultatus surūšiuokite nuo mažiausio iki didžiausio
  • Dešimtainiai skaičiai – perjunkite į dešimtainius skaičius ir nustatykite tikslumą

Greitieji nustatymai

NustatymasDiapazonasSkaičiusNaudojimas
🎲 Kauliukas1–61Žaidimai, sprendimų priėmimas
🪙 Moneta0–11Herbas arba Skaičius
🎰 Loterija1–496Loterijos simuliacija
💯 1–1001–1001Bendras naudojimas

Kur naudojami atsitiktiniai skaičiai?

Žaidimai ir pramogos

  • Stalo žaidimai – kauliukų metimas, eilės traukimas
  • Sprendimų priėmimas – kai nežinote, ką pasirinkti
  • Viktorinos ir konkursai – atsitiktinis klausimo ar nugalėtojo pasirinkimas
  • RPG žaidimai – veikėjo savybių generavimas

Statistika ir mokslas

  • Mėginių ėmimas – atsitiktinis populiacijos mėginio pasirinkimas
  • A/B testavimas – atsitiktinis padalijimas į grupes
  • Monte Karlo simuliacija – tikimybių įvertinimas
  • „Bootstrapping“ – statistinis metodas pakartotiniam atrankai

Informatika ir plėtra

  • Testavimo duomenys – testavimo reikšmių generavimas
  • Svorio inicializavimas neuroniniuose tinkluose
  • Atsitiktinis ID – kai UUID yra per didelis
  • Žaidimas (Gamifikacija) – atsitiktiniai apdovanojimai, „loot box“ mechanikos

Tikrieji vs. pseudonaujieji skaičiai

Math.random()crypto.getRandomValues()
TipasPseudonaujasKriptografiškai saugus
Entropijos šaltinisAlgoritmo sėklaSistemos CSPRNG
GreitisLabai greitasGreitas
Nuspėjama?Potencialiai taipNe
Tinka saugumui?NeTaip
Tinka statistikai?PriklausoTaip

Mūsų generatorius visada naudoja kriptografiškai saugų variantą, todėl rezultatai tinka ir simuliacijoms, statistiniams skaičiavimams ar loterijoms.

Loterija be pasikartojimų

Pažymėjus parinktį „Neleisti pasikartojimų“, generatorius užtikrins, kad kiekvienas skaičius diapazone rezultate pasirodys daugiausia vieną kartą. Tai idealu:

  • Loterijos – nugalėtojų pasirinkimas be galimybės, kad tas pats asmuo laimės du kartus
  • Permutacijos – atsitiktinis elementų perstatymas
  • Bingo – skaičių traukimas be pasikartojimų
  • Loterija – 6 skirtingi skaičiai iš diapazono 1–49

Jei norimas skaičių skaičius viršija diapazono dydį, generatorius parodys klaidos pranešimą.

Rezultatų eksportavimas

Sugeneruotus skaičius galima nukopijuoti dviem formatais:

  • Kableliais atskirti12, 45, 7, 33 – tinka įkelti į lenteles (Excel, Google Sheets)
  • Eilutėmis – kiekvienas skaičius atskiroje eilutėje – tinka tekstiniams failams ar apdorojimui skriptu

Kaip generuoti atsitiktinius skaičius savo kode?

JavaScript / TypeScript

// Kryptograficky bezpečné náhodné celé číslo v rozsahu [min, max]
function randomInt(min, max) {
  const range = max - min + 1;
  const arr = new Uint32Array(1);
  crypto.getRandomValues(arr);
  return min + (arr[0] % range);
}

// Pseudonáhodné (rychlé, ale ne bezpečné)
const n = Math.floor(Math.random() * (max - min + 1)) + min;

Python

import random
import secrets

# Kryptograficky bezpečné
n = secrets.randbelow(max - min + 1) + min

# Pseudonáhodné (standardní knihovna)
n = random.randint(min, max)

# Bez opakování
sample = random.sample(range(min, max + 1), count)

PHP

// Kryptograficky bezpečné (PHP 7+)
$n = random_int($min, $max);

// Pseudonáhodné (starší přístup)
$n = rand($min, $max);

Dažnai užduodami klausimai (DUK)

Ar rezultatas tikrai atsitiktinis? Taip. Mes naudojame crypto.getRandomValues(), kuris yra kriptografiškai saugus pseudonaujų skaičių generatorius (CSPRNG), įdiegtas naršyklėje. Rezultatai yra statistiškai tolygiai paskirstyti ir nenuspėjami.
Kiek skaičių galiu sugeneruoti vienu metu? Daugiausia 10 000 skaičių vienu generavimu. Didesniam kiekiui rekomenduojame naudoti scenarijų arba specializuotą programinę įrangą.
Ar galiu generuoti neigiamus skaičius? Taip, nustatykite minimalų skaičių į neigiamą reikšmę (pvz., -100) ir maksimalų į bet kokį skaičių. Generatorius palaiko visą JavaScript skaičių diapazoną.
Kaip veikia „Rūšiuoti rezultatus“? Skaičiai pirmiausia sugeneruojami atsitiktinai, o tada surūšiuojami didėjimo tvarka. Tai neturi įtakos atsitiktinumui – tik rodymo būdui.
Ar galiu generuoti skaičius su dešimtainėmis dalimis? Taip, įjunkite jungiklį „Dešimtainiai skaičiai“ ir nustatykite norimą dešimtainių dalių skaičių (1–10). Tada generatorius grąžins skaičius, tolygiai paskirstytus nurodytame diapazone.
Kodėl loterijos nustatymas yra 1–49? Atitinka Čekijos „Sportka“ (Sazka) loteriją, kurioje traukiami 6 skaičiai iš diapazono 1 iki 49. Rezultatai yra surūšiuoti ir be pasikartojimų, kaip ir tikroje loterijoje.