Перейти до основного вмісту
LibraTool logoLibraTool

Генератор випадкових чисел — безкоштовно

Генеруйте випадкові числа в будь-якому діапазоні, створюйте унікальні списки чисел або кидайте кубики. Використовує криптографічно безпечну випадковість.

Працює офлайн після завантаження

🔒 Кожне число використовує криптографічно захищену випадковість браузера (crypto.getRandomValues) — справді чесне, а не передбачуване Math.random(). Нічого нікуди не надсилається. Утім, не використовуйте ці числа для генерації криптографічних ключів, токенів безпеки або регульованих лотерейних/азартних додатків, які вимагають перевірених апаратно сертифікованих джерел випадковості.

Потрібно вибрати переможця зі списку за іменем або підкинути монету? Скористайтеся засобом «Підкидання монети, колесо удачі та вибір зі списку» →

Типові застосування

  • Генеруйте Номери ЛотереїВиберіть випадкові номери лотереї для Powerball, Mega Millions, EuroMillions та інших розіграшів.
  • Виберіть Випадкового Переможця для РозіграшівСправедливо виберіть випадкового переможця з нумерованого списку записів для конкурсів та розіграшів.
  • Кидайте Кістки для Настільних ІгорКидайте будь-яку комбінацію кісток - d4, d6, d8, d10, d12, d20, d100 - для D&D та настільних рольових ігор.
  • Випадкова Вибірка для ДослідженьГенеруйте випадкові вибірки, призначте випадкові ID або виберіть випадкову підмножину з нумерованого набору даних.
  • Генеруйте Випадкові Числа Тестових ДанихСтворіть великі списки випадкових чисел для тестування алгоритмів, заповнення баз даних та стрес-тестування систем.

Як це працює

Кожне число, яке генерує інструмент, береться з crypto.getRandomValues — криптографічно захищеного джерела випадковості браузера, того самого, що використовується для генерації ключів TLS. Поверх нього працює власноруч написаний алгоритм вибірки з відхиленням, що усуває упередження від ділення за модулем, притаманне простим реалізаціям Math.random() % range, включно з діапазонами понад 2^32 через арифметику BigInt.

  1. 1
    Задайте діапазон і режим
    Виберіть одне число, пакетний список (до 1000) або багатогранні кубики (від d4 до d100). Для списків можна також вимагати унікальні значення й за бажанням сортувати результат за зростанням.
  2. 2
    crypto.getRandomValues бере сиру ентропію
    Кожне число береться з Uint32Array (або BigUint64Array для діапазонів понад 2^32), заповненого криптографічним ГВЧ браузера, — не з Math.random(). Вибірка з відхиленням відкидає значення, що спотворили б розподіл, тож кожне ціле у вашому діапазоні має рівно однакову ймовірність.
  3. 3
    Режим унікальних значень використовує Фішера — Єйтса або відстеження повторів
    Коли ввімкнено унікальний режим і діапазон уміщується в пам’ять (до 100,000 значень), інструмент створює повний набір і перемішує його алгоритмом Фішера — Єйтса. Для дуже великих діапазонів він натомість вибирає значення по одному, пропускаючи повтори, — щоб не витрачати пам’ять на масив із мільярдів елементів.
  4. 4
    Результати з’являються з анімацією й зберігаються в історії сеансу
    Остаточні значення анімовано стають на місце (прокручування, як в ігровому автоматі, для чисел, котіння кубиків для режиму кубиків) через requestAnimationFrame, а потім з’являються в прокручуваному журналі історії, який можна скопіювати будь-коли. Ніщо не залишає ваш браузер.

Схожі інструменти

Часті запитання