Бесплатные инструменты

Генератор случайных чисел

Генерирует случайные целые числа в заданном диапазоне с опциональной уникальностью и несколькими выборками.

Что делает генератор случайных чисел

Этот инструмент создаёт по-настоящему случайные целые числа в диапазоне, который вы выбираете. Вы задаёте минимум и максимум, указываете, сколько чисел вам нужно, и по желанию отмечаете «уникальные», чтобы ни одно значение не повторялось. Это та утилита, к которой вы обращаетесь всякий раз, когда нужен беспристрастный выбор и вы не хотите полагаться на собственную интуицию: определение победителя розыгрыша или лотереи из списка номеров участников, бросок кубиков или симуляция лотереи, заполнение таблицы или базы данных тестовыми данными, выбор случайной выборки строк для выборочной проверки, распределение пользователей для приблизительного сплит-теста или просто решение, кто ходит первым. Обе границы включительны, поэтому диапазон от 1 до 6 может вернуть любое из 1, 2, 3, 4, 5 или 6, точно как настоящий кубик, а диапазон от 0 до 99 даёт вам все сто значений.

Как он остаётся честным и почему это сложнее, чем кажется

Важная деталь — откуда берётся случайность. Множество наспех написанных скриптов используют Math.random() из JavaScript, который быстр, но является псевдослучайным генератором, никогда не предназначавшимся быть непредсказуемым, а отображение его на диапазон с помощью простого % (по модулю) незаметно вносит смещение. Вместо этого данный инструмент вызывает криптографический источник браузера, crypto.getRandomValues(), чтобы заполнить 32-битное беззнаковое целое число, а затем использует выборку с отклонением (rejection sampling), чтобы подогнать его к вашему диапазону, не искажая вероятности. Простыми словами, он вычисляет наибольшее целое кратное размеру вашего диапазона, помещающееся в 2³², отбрасывает любое сырое значение выше этой границы и лишь затем берёт остаток. Отбрасывание этой остаточной полосы — это именно то, что делает каждое число равновероятным, вместо того чтобы нескольким наименьшим значениям отдавалось совсем незначительное предпочтение — скрытый уклон, который вы унаследовали бы от наивного модуля. Результат — равномерная, несмещённая выборка, которую безопасно использовать для честного отбора.

Диапазоны, количество и опция уникальности

Вы можете извлечь одно число или до тысячи за раз, и каждая граница может находиться где угодно между минус одним миллиардом и плюс одним миллиардом. Если вы введёте минимум и максимум в неправильном порядке, инструмент поменяет их местами вместо того, чтобы выдать ошибку. Флажок «уникальные» меняет поведение на выборку без возвращения, а это именно то, что нужно для короткого списка разных победителей или набора неповторяющихся номеров строк.

  • Выбор 5 уникальных чисел из 1–100 даёт вам пять разных значений — удобно для выбора разных лотерейных билетов или тестовых ID.
  • Запросить больше уникальных чисел, чем может вместить диапазон, невозможно (ведь разных значений всего определённое количество), поэтому инструмент сообщит вам об этом вместо того, чтобы зациклиться навсегда.
  • Без «уникальных» повторы ожидаемы и корректны — десять бросков кубика вполне могут дважды выпасть на одну грань.
  • Это только целые числа; если вам нужны десятичные, масштабируйте вывод самостоятельно (например, разделите на 100 для значений с двумя знаками).

Где следует провести черту

Хотя числа происходят из криптографического источника, короткий числовой диапазон содержит очень мало энтропии, поэтому это инструмент для честного отбора и тестовых данных, а не для создания секретов. Случайное число между 1 и 100 — это один из всего ста исходов, и его было бы тривиально угадать как пароль или токен. Когда вам действительно нужен непредсказуемый секрет — ключ API, идентификатор сессии, надёжные учётные данные — используйте специализированный генератор с гораздо большей энтропией; если вы встраиваете случайность в собственные сервисы, наша документация для разработчиков описывает рекомендуемые нами паттерны токенов и ключей. Однако для розыгрышей, кубиков, выборки и перемешивания это именно тот инструмент, что нужен.

Приватный по замыслу

Всё происходит в вашем браузере. Диапазоны, которые вы вводите, и числа, что получаются, генерируются локально на вашем собственном устройстве с помощью встроенного криптографического API — ничего не отправляется на сервер, ничего не сохраняется и ничего не журналируется. Для инструмента честности это имеет значение: поскольку ни одна выборка никогда не покидает вашу машину, нет серверной записи, которую можно было бы поставить под сомнение, и результат принадлежит только вам. Обновите страницу — и каждая предыдущая выборка просто исчезает.

Эту страницу нашли по запросу

Реальные поисковые фразы, на которые отвечает эта страница — по ссылкам откроются материалы, раскрывающие тему глубже.