Atsitiktinių skaičių generatorius internetu | Nemokamai
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
| Nustatymas | Diapazonas | Skaičius | Naudojimas |
|---|---|---|---|
| 🎲 Kauliukas | 1–6 | 1 | Žaidimai, sprendimų priėmimas |
| 🪙 Moneta | 0–1 | 1 | Herbas arba Skaičius |
| 🎰 Loterija | 1–49 | 6 | Loterijos simuliacija |
| 💯 1–100 | 1–100 | 1 | Bendras 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() | |
|---|---|---|
| Tipas | Pseudonaujas | Kriptografiškai saugus |
| Entropijos šaltinis | Algoritmo sėkla | Sistemos CSPRNG |
| Greitis | Labai greitas | Greitas |
| Nuspėjama? | Potencialiai taip | Ne |
| Tinka saugumui? | Ne | Taip |
| Tinka statistikai? | Priklauso | Taip |
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 atskirti –
12, 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 naudojamecrypto.getRandomValues(), kuris yra kriptografiškai saugus pseudonaujų skaičių generatorius (CSPRNG), įdiegtas naršyklėje. Rezultatai yra statistiškai tolygiai paskirstyti ir nenuspėjami.