Случайный выбор победителя — розыгрыш с протоколом
Розыгрыш без повторов с протоколом, где есть время розыгрыша и хеши SHA-256
Работает в браузере · файлы никуда не загружаются
Итоги розыгрыша
Розыгрыша еще не было.
Хеш списка участников (SHA-256)
Этот хеш показывает только одно: изменился ли список хотя бы на один символ. Тот же список в том же порядке дает то же значение.
Хеш текущего списка
—
Время розыгрыша берется из часов этого устройства, а их можно перевести. Хеш показывает лишь, что список не меняли после того, как вы опубликовали хеш; он не доказывает ни когда существовал список, ни что розыгрыш был случайным.
В ссылке только имена участников, без результата. Не делитесь ею, если в списке есть персональные данные.
Что это такое
Инструмент для розыгрышей в соцсетях, определения очередности выступлений, графика дежурств и поощрений в классе — везде, где из списка нужно выбрать нескольких человек. Введите по одному участнику в строке, укажите число победителей и запасных, и инструмент выберет их без повторов. Можно выбрать всех сразу или по одному — для интриги. После розыгрыша можно сохранить изображение-протокол (PNG) со временем розыгрыша, числом заявок, хешем SHA-256 списка участников и победителями. На странице прямо сказано, что хеш показывает неизменность списка, а не случайность розыгрыша.
Как пользоваться
- Введите участников — по одному в строке или через запятую. Под списком виден хеш текущего списка, который обновляется по мере ввода.
- Оставьте включенной опцию «Учитывать каждое имя один раз», чтобы объединить повторяющиеся имена.
- Укажите число победителей и запасных победителей.
- Выберите Все сразу или По одному и нажмите кнопку розыгрыша.
- Под результатом появятся время розыгрыша (местное время, смещение от UTC и название часового пояса) и хеши. Сохраните протокол кнопкой Сохранить протокол (PNG) или скопируйте текст кнопкой Копировать результат.
Как это работает
- Без повторов: каждая строка — один билет. Выпавший билет исключает это имя из всех оставшихся выборов, поэтому все победители и запасные — разные люди.
- Ограничения: победителей и запасных вместе не может быть больше, чем разных имен, а заявок принимается до 10 000.
- Случайность: значения берутся из
crypto.getRandomValuesбез смещения по модулю;Math.randomне используется. - Хеш списка: SHA-256 заявок в порядке ввода, соединенных символами перевода строки и закодированных в UTF-8. Другой порядок дает другой хеш.
- Хеш результата: SHA-256 строк вида
W:имядля каждого победителя, за которыми идут строкиR:имядля каждого запасного. - Время розыгрыша: показания часов браузера в момент окончания розыгрыша, в формате вроде
2026-10-03 14:05:12 (UTC+03:00, Europe/Moscow). Если часы устройства идут неверно, время тоже будет неверным, поэтому для официальных доказательств используйте надежный источник времени. - Чего хеш не делает: он лишь обнаруживает изменения и не может доказать, что победители выбраны честно.
Примеры
| Участники | Настройка | Итог |
|---|---|---|
| Анна, Иван, Олег, Мария, Ольга, Сергей | 1 победитель | 1 из 6 |
| тот же список | 2 победителя + 2 запасных | 4 разных человека |
| Анна, Анна, Иван (повторы сохранены) | 1 победитель | Анна 2/3, Иван 1/3 |
| тот же список, повторы объединены | 1 победитель | Анна и Иван по 1/2 |
Частые вопросы
Что доказывает хеш на изображении-протоколе?
Это SHA-256 вашего списка участников, поэтому тот же список в том же порядке дает тот же хеш. Опубликовав хеш, вы сможете позже показать, что список не изменился ни на один символ. Но время розыгрыша берется из часов вашего устройства и может быть изменено, а хеш не доказывает, когда был создан список. Самого списка на изображении нет, поэтому сохраните его отдельно для сверки.
Доказывает ли хеш, что розыгрыш был случайным?
Нет. Хеш показывает только, менялись ли список или результат задним числом; о том, насколько честно выбраны победители, он ничего не говорит. Инструмент использует криптографические случайные числа браузера, но по изображению это никто проверить не может. Для важных розыгрышей демонстрируйте экран и проводите розыгрыш на глазах у участников.
Может ли один человек выиграть дважды?
Никогда. Если опция «Учитывать каждое имя один раз» включена, повторяющиеся строки объединяются (без учета регистра). Если ее выключить, каждая повторная строка — это дополнительный билет, повышающий шансы этого имени, но после выигрыша имя исключается из всех следующих выборов.
Как работает розыгрыш по одному?
Первое нажатие блокирует список и выбирает одного победителя. Каждое нажатие кнопки следующего выбора добавляет еще одного, а после победителей розыгрыш продолжается запасными. Когда выбран последний, время и хеши фиксируются. Посередине список изменить нельзя.
Где-нибудь хранятся мои участники?
Нет. Розыгрыш, вычисление хешей и создание изображения происходят в браузере. Ссылка создается только по нажатию кнопки и записывает имена участников после знака решетки (#) в адресе. Эта часть не отправляется на сервер, но ее может прочитать любой, кто получит ссылку, поэтому не используйте ее для списков с персональными данными.