Генератор на случайни числа — безплатно
Генерирайте случайни числа в произволен диапазон, създавайте уникални списъци с числа или хвърляйте зарове. Използва криптографски защитена случайност.
🔒 Всяко число използва криптографски защитената случайност на браузъра (crypto.getRandomValues) — наистина честно, не предвидимото Math.random(). Нищо не се изпраща никъде. Въпреки това не използвайте тези числа за генериране на криптографски ключове, токени за сигурност или регулирани лотарии/хазарт, които изискват одитирани, хардуерно сертифицирани източници на случайност.
Често срещани употреби
- Генерирайте номерата на лотариятаИзберете случайни номера на лотарията за Powerball, Mega Millions, EuroMillions и други тегления.
- Изберете случайна награда за раздаванеСправедливо изберете случайна награда от номерирана списък на вноски за конкурси и раздавания.
- Хвърлете кубчета за игри на масаХвърлете всякаква комбинация от кубчета — d4, d6, d8, d10, d12, d20, d100 — за D&D и настолни RPG.
- Случайно вземане на проби за изследванеГенерирайте случайни проби, присвойте случайни идентификатори или изберете случайно подмножество от номериран набор от данни.
- Генерирайте случайни числа на тестовите данниСъздайте големи списъци със случайни числа за тестване на алгоритми, попълване на бази данни и стресово тестване на системи.
Как работи
Всяко число, генерирано от този инструмент, идва от crypto.getRandomValues — криптографски сигурния случаен източник на браузъра, същият, използван за генериране на TLS ключове. Ръчно написан алгоритъм за отхвърляне на извадка стои отгоре, за да елиминира отклонението от модула, което измъчва простите реализации на Math.random() % диапазон, включително диапазони по-широки от 2^32 чрез аритметика на BigInt.
- 1Задайте вашия диапазон и режимИзберете между единично число, групов списък (до 1000) или многостенни зарове (от d4 до d100). За списъци можете също да изисквате уникални стойности и по избор да сортирате изхода възходящо.
- 2crypto.getRandomValues извлича сурова ентропияВсяко число се изтегля от Uint32Array (или BigUint64Array за диапазони по-широки от 2^32), попълнен от криптографския RNG на браузъра — не Math.random(). Отхвърлянето на извадка след това премахва стойности, които биха изкривили разпределението, така че всяко цяло число във вашия диапазон има точно еднаква вероятност.
- 3Режимът за уникални стойности използва Fisher-Yates или проследяване на отхвърлянеКогато режимът за уникалност е включен и диапазонът се побира в паметта (до 100 000 стойности), инструментът материализира целия пул и го разбърква с Fisher-Yates. За много големи диапазони вместо това изтегля стойности една по една, пропускайки повторения — избягвайки разхода на памет за конструиране на масив с милиарди записи.
- 4Резултатите се появяват с анимирана обратна връзка и остават в историята на сесиятаФиналните стойности се анимират на място (въртене като на игрален автомат за числа, търкалящи се зарове за режим на зарове), използвайки requestAnimationFrame, след което се появяват в превъртаем дневник на историята, който можете да копирате по всяко време. Нищо не напуска браузъра ви.
Свързани инструменти
Хвърляне на зарове
Хвърлете от 1 до 10 зара (d4, d6, d8, d10, d12, d20 или d100) с кратка анимация, вижте сбора и всеки резултат и пазете списък с последните хвърляния.
Генератор на случайни цветове
Генерирайте случайни цветове по един или като палитра от пет, заключвайте харесаните, копирайте стойности HEX, RGB или HSL и експортирайте палитрата като PNG или CSS.
Хвърляне на монета и въртене на колело
Обърнете виртуална монета, завъртете поддаваща се на персонализиране колело или произволно изберете от список с опции. Използва криптографски безопасен генератор на случайни числа в браузъра ви — не е проверяемо публично теглене, затова избягвайте регулирани състезания.