Перайсці да асноўнага зместу
LibraTool logoLibraTool

Генератар выпадковых лічбаў — бясплатна

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

Працуе афлайн пасля загрузкі

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

Трэба выбраць пераможцу па імені са спісу або кінуць манету? Скарыстайце інструмент «Кіданне манеты, колца і выбар са спісу» →

Тыповыя выкарыстанні

  • Стварыце лотарэйныя нумарыПекіце выпадковыя лотарэйныя нумары для Powerball, Mega Millions, EuroMillions і іншых розыгрышаў.
  • Абярыце выпадкова переможца для прамоцыяўСправядліва абярыце выпадкова переможца з нумаравана спіса ўваходаў для канкурсаў і прамоцыяў.
  • Закочыце косткі для настольных гульняўЗакочыце любую камбінацыю костак — d4, d6, d8, d10, d12, d20, d100 — для D&D і настольных RPG.
  • Выпадковы адбор для даследаванняўСтварыце выпадковы адбор, дайце выпадковыя ID ці абярыце выпадковую падмножыву з нумаравана набора дадзеных.
  • Стварыце тэставыя дадзеныя выпадковых нумараўСтварыце вялікія спісы выпадковых нумараў для тэставання алгарытмаў, запаўнення баз дадзеных і стрэс-тэставання сістем.

Як гэта працуе

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

  1. 1
    Задайце ваш дыяпазон і рэжым
    Абярыце паміж адной лічбай, спісам-партыяй (да 1000) ці мнагаграннымі кубікамі (d4 да d100). Для спісаў вы таксама можаце запатрабаваць унікальныя значэнні і апцыянальна адсартаваць вывад па ўзрастанні.
  2. 2
    crypto.getRandomValues выцягвае сырую энтрапію
    Кожная лічба выцягваецца з Uint32Array (ці BigUint64Array для дыяпазонаў шырэйшых за 2^32), запоўненага крыптаграфічным RNG браўзера — не Math.random(). Выбарка з адхіленнем потым адкідвае значэнні, якія б скасіравалі размеркаванне, так што кожны цэлы лік у вашым дыяпазоне мае дакладна роўную верагоднасць.
  3. 3
    Рэжым унікальных значэнняў выкарыстоўвае Фішэра-Ейтса ці адсочванне адхілення
    Калі рэжым унікальнасці ўключаны і дыяпазон змяшчаецца ў памяці (да 100 000 значэнняў), інструмент матэрыялізуе поўны пул і перамешвае яго з Фішэра-Ейтса. Для вельмі вялікіх дыяпазонаў ён замест гэтага выцягвае значэнні адно за раз, прапускаючы паўторы — пазбягаючы кошту памяці на пабудову масіва з мільярдамі запісаў.
  4. 4
    Вынікі з'яўляюцца з анімаванай зваротнай сувяззю і застаюцца ў гісторыі сесіі
    Канчатковыя значэнні анімуюцца на месца (прагон гульнявога аўтамата для лікаў, кувыркаючыяся кубікі для рэжыму кубікаў) з дапамогай requestAnimationFrame, потым з'яўляюцца ў пракручваным журнале гісторыі, які вы можаце скапіяваць у любы час. Нічога не пакідае ваш браўзер.

Звязаныя інструменты

Часта задаюць пытанні