Рандомайзер победителей
Winner picker
Рандомайзер победителей — программа, которая случайным образом выбирает одну или несколько записей из подготовленного списка. В рассматриваемой модели все записи имеют равные шансы, а одна запись не может занять два места в одном запуске; допуск участников и законность акции проверяются отдельно.
Основание такого понимания даёт британский рекламный кодекс CAP: правило 8.24 отдельно описывает компьютерное определение победителей по случайности, которую можно проверить. [4] Спецификация W3C описывает получение случайных значений программой; равный вес записей и запрет повторного выбора в этой статье задаёт объяснённая ниже учебная модель. [1] Проще говоря, рандомайзер получает готовый список и возвращает результат. Если список составлен неверно, один человек представлен несколькими записями вопреки правилам или организатор перезапускает выбор без предусмотренного основания, хороший генератор случайных чисел не исправит процедуру.
Кратко
- До запуска нужно определить, что считается одной единицей выбора и кто попадает в список.
- Равные шансы записей не всегда означают равные шансы людей.
- Выбор без повторений не позволяет одной и той же записи выиграть дважды за один запуск.
- Протокол фиксирует заявленные входные данные и результат, но сам по себе не доказывает отсутствие подмены.
- Мини-инструмент статьи не проверяет подписки, возраст, задания, личности и правовой статус акции.
Открыть мини-инструмент к статье → Расчёт идёт в браузере, данные никуда не отправляются.
Происхождение и история термина
У случайного отбора есть документированная история до вычислительной техники. В «Афинской политии», приписываемой Аристотелю, описан отбор судей по жребию: участники клали именные деревянные таблички в ящики, служитель перемешивал их, после чего извлекали таблички; дальнейший отбор включал металлические жребии разных цветов. Это античный пример случайного распределения общественных обязанностей, а не розыгрыш рекламных призов. В нём уже различались допуск человека, его обозначение на материальном носителе и процедура отбора. [7]
Современное английское название winner picker буквально означает «выбиратель победителя». Здесь оно обозначает программное выполнение задачи выбора; античную процедуру нельзя называть таким сервисом или приписывать её описание изобретателю программы. Между физическим жребием и веб-формой меняется носитель случайного выбора: вместо перемешиваемых табличек программа обрабатывает записи списка и числовые позиции.
Для современной веб-реализации важен технический этап: в 2017 году W3C опубликовал рекомендацию Web Cryptography API с методом getRandomValues («получить случайные значения»), который заполняет целочисленный массив криптографически случайными значениями. Спецификация описывает программный интерфейс, а не проведение розыгрышей и не честность организатора. [1]
Другой подход к проверяемости показывает NIST Randomness Beacon 2.0 — «маяк случайности» Национального института стандартов и технологий США. Страница NIST называет его прототипом и бета-версией: опубликованные значения получают номер, отметку времени и подпись, а также включают хеш предыдущего значения — вычисляемую из него контрольную последовательность. Такая цепочка помогает обнаружить последующее изменение опубликованного пакета. Локальный инструмент этой статьи к маяку не подключён. На странице также есть уведомление от 23.10.2026: импульсы с 03.09.2026 ссылаются на неправильный сертификат, и для проверки потребуется другой сертификат. Поэтому описание архитектуры не следует принимать за подтверждение исправности каждого опубликованного импульса. [3]
Суть и механизм
У рандомайзера есть две разные границы ответственности. До запуска организатор решает, какие заявки допустимы и как они превращаются в единицы выбора. После этого программа выбирает среди переданных единиц. Смешение этих этапов создаёт ложное впечатление, будто случайное число одновременно проверяет правила акции.
Процедуру можно представить как пять связанных шагов:
- Установить единицу выбора: человек, заявка или разрешённый правилами шанс.
- Проверить допуск и получить окончательный список.
- Зафиксировать число призовых мест и значение порядка результатов.
- Выполнить случайный выбор по заранее описанному алгоритму.
- Сохранить результат и сведения, достаточные для заявленного уровня проверки.
В текущем мини-инструменте единица — один уникальный идентификатор, то есть строка, которой организатор обозначил участника или разрешённый шанс. Перед сравнением программа удаляет пробелы в начале и конце строки и нормализует её в форме NFC. Unicode — стандарт представления символов в компьютерном тексте; NFC (Normalization Form C, форма нормализации с композицией) приводит канонически эквивалентные записи к общей форме, соединяя составляющие символа там, где это предусмотрено стандартом. Например, латинское é можно записать одним кодовым знаком или как e с отдельным знаком острого ударения; после NFC обе записи совпадут. Поэтому ввод этих двух вариантов отдельными строками вызовет ошибку дубликата. Нормализация не проверяет личность и не объединяет все похожие буквы разных алфавитов. [8]
Регистр учитывается: User7 и user7 считаются разными строками. Пустые строки пропускаются, а дубли приводят к остановке, чтобы программа не меняла число шансов незаметно. Это правило сравнения входа, а не доказательство, что за двумя строками стоят разные люди.
Учебный пример входа. Строки A01, пустая строка и B01 превратятся в список A01, B01 в том же порядке. Если добавить строку A01, форма остановится: сначала нужно выяснить, случайно ли повторена заявка. Если это разрешённый второй шанс, ему нужен собственный код и подтверждённое основание вне формы. Молча удалять повтор программа не должна: иначе организатор может не заметить ошибку или потерю разрешённого шанса. Число мест тоже задаётся до запуска; запись 2 принимается, а 2.5 и 2e0 не соответствуют принятому формату целого числа.
Виды и классификации
Для объяснения процедуры ниже дана редакционная классификация. Её признаки описывают разные решения при подготовке выбора и не являются перечнем требований стандарта W3C или NIST.
| Различие | Варианты | Что меняется |
|---|---|---|
| Число результатов | Один или несколько | Нужен один индекс либо последовательность выборов |
| Повторное участие записи | С возвращением или без возвращения | При выборе без возвращения уже выбранная запись исключается |
| Вес единицы | Равный или заданный правилами | При разных весах одинаковая вероятность строк больше не описывает механику |
| Источник случайности | Локальный или публично зафиксированный внешний | Меняются возможности последующей проверки и воспроизведения |
| Порядок мест | Равнозначные или разные призы | В последнем случае важно заранее связать номер результата с призом |
Мини-инструмент выбирает одно или несколько упорядоченных мест среди уникальных строк равного веса, без возвращения. Он не назначает и не проверяет дополнительные шансы автоматически. Однако заранее подготовленные разные коды одного человека программа примет как отдельные единицы: связь между ними ей неизвестна. Поэтому отсутствие поля «вес» не означает, что у всех людей одинаковая вероятность выигрыша.
Как подготовить дополнительные шансы
Дополнительный шанс появляется из правил акции и подтверждённого действия участника. Само наличие ещё одной строки ничего не подтверждает: организатор мог ошибиться при импорте, участник мог отправить повторную заявку, а различие регистра могло создать новый код. До выбора нужно решить, какое действие даёт дополнительный шанс, сколько раз его разрешено учитывать и может ли один человек получить несколько призов. Это редакционная рекомендация для понятной процедуры: определить условия до просмотра результата, чтобы решение не зависело от того, кому достался приз.
Учебный пример. Правила вымышленной акции дают каждому допущенному участнику один шанс и ещё один за проверенное дополнительное задание, максимум два. Анна выполнила оба условия, Борис — только основное. Организатор проверил задания и подготовил следующую внутреннюю таблицу:
| Участник | Основание допуска единицы | Код для выбора |
|---|---|---|
| Анна | Основное условие выполнено | A01 |
| Анна | Дополнительное задание выполнено | A02 |
| Борис | Основное условие выполнено | B01 |
В форму попадают только три кода, каждый с новой строки. Внутреннее соответствие кодов людям и подтверждения заданий остаются отдельным документом с подходящими правами доступа. Это рекомендация по подготовке списка, а не функция формы: рандомайзер не видел задания и не удостоверяет право Анны на второй шанс.
Если разыгрывается одно место, каждый код получает вероятность одной трети. Анну представляют два кода, поэтому её вероятность выиграть равна двум третям; Бориса — один код, его вероятность равна одной трети. Так равномерный выбор строк реализует неравные личные шансы, заранее предусмотренные учебными правилами. Добавление A03 без основания изменило бы вероятность Анны, хотя техническую проверку уникальности новая строка прошла бы.
Если выбрать два места, существуют шесть равновероятных упорядоченных пар разных кодов: A01–A02, A01–B01, A02–A01, A02–B01, B01–A01, B01–A02. Первое место в каждой паре указано слева. В двух парах выбраны A01 и A02 в разном порядке: Анна получает оба места с вероятностью одной трети. Хотя бы одно место она получает во всех шести парах, а Борис — в четырёх, то есть с вероятностью двух третей. Здесь нельзя сложить вероятности попадания двух кодов Анны и назвать сумму вероятностью её выигрыша: события могут произойти вместе.
Следовательно, правило «один приз на человека» требует другого механизма. После победы одного кода нужно учитывать владельца и исключать остальные его коды по заранее установленному алгоритму; текущая форма этого не умеет. Выбрать несколько строк и затем произвольно перезапускать выбор при неудобном повторе человека — не реализация такого правила. Для равных личных шансов можно подготовить по одному коду на человека; для дополнительных шансов с ограничением числа призов нужен инструмент, который явно поддерживает обе части условия.
Равномерность и выбор без повторений
В следующем расчёте N — число допустимых единиц, а k — число выбираемых мест; оба числа целые, 1 ≤ k ≤ N. Если в списке N допустимых единиц, равномерный выбор одного победителя даёт каждой единице вероятность 1 / N. При выборе k разных единиц без повторений вероятность конкретной единицы попасть в выбранное множество равна k / N, если на каждом шаге оставшиеся единицы симметричны. Здесь знаменатель — окончательный размер списка, а числитель — число выбранных мест. Для одного заранее указанного места вероятность по-прежнему равна 1 / N; при нескольких местах вероятность попасть на любое из них больше, потому что подходят несколько исходов.
Это можно вывести внутри модели. Все записи равноправны и в результате присутствуют ровно k разных записей. Значит, сумма их вероятностей включения равна k; если каждая из N записей имеет одну и ту же вероятность, она равна k / N. В примере с тремя кодами каждая упорядоченная пара получается с вероятностью одной трети, умноженной на одну вторую, то есть одной шестой: после первого выбора остаются две записи.
Учебный пример. Организатор получил 120 заявок. Десять поступили после указанного срока, ещё десять повторяют уже учтённые идентификаторы. Если правила допускают одну запись на идентификатор и проверка исключила эти двадцать заявок, в рабочем списке остаётся 100 единиц. При трёх равнозначных местах вероятность каждой записи попасть в итоговую тройку составляет:
3 / 100 × 100% = 3%.
Это вероятность одной записи. Личной вероятностью она становится только при соответствии «один человек — одна запись». Для нескольких кодов одного человека нужен отдельный расчёт, как в примере Анны и Бориса. Все числа примеров вымышлены и показывают модель, а не статистику реальных акций.
Для нескольких победителей инструмент использует частичное перемешивание без повторений. На первом шаге выбирается позиция среди всего списка, на втором — среди оставшихся записей и так далее. Выбранная запись переносится в уже обработанную часть массива, поэтому в одном запуске та же строка не может появиться снова.
Источник случайных значений
Метод crypto.getRandomValues возвращает криптографически стойкие псевдослучайные значения: их вычисляет программный генератор, для которого важна трудность предсказания следующего результата по уже известным. Исходная случайность помогает задать внутреннее состояние генератора. [1, 2] Энтропия здесь означает меру неопределённости случайного источника: заранее известный неизменный исход не даёт неопределённости, а несколько возможных исходов могут её давать. Это объяснение смысла термина, а не измерение энтропии конкретного устройства. [10] MDN поясняет, что конкретный алгоритм генератора зависит от браузера, а Web Cryptography не устанавливает минимальную численную границу энтропии. Поэтому корректно говорить о свойствах интерфейса, но не о независимой сертификации конкретного устройства. [1, 2]
Мини-инструмент запрашивает одно 32-битное беззнаковое число за раз. Если crypto.getRandomValues недоступен, выбор прекращается с ошибкой; скрытого перехода на Math.random нет. Ограничение W3C в 65 536 байт на один запрос здесь не достигается: массив из одного 32-битного элемента занимает четыре байта. [1]
Случайное число ещё нужно преобразовать в индекс списка. Простое выражение «число по модулю n» может дать разным индексам неодинаковое количество исходных 32-битных значений, когда n не делит 2³² без остатка. Текущая реализация отбрасывает лишний хвост диапазона, а затем берёт остаток. При предположении равномерного 32-битного источника каждому принимаемому индексу соответствует одинаковое число исходов.
Представим учебный источник из десяти равновероятных чисел и три позиции. При прямом взятии остатка одному индексу соответствуют четыре исхода, а двум другим — по три. Если отбросить один лишний исход, остаются девять значений: по три на каждый индекс. Это объясняет принцип отбрасывания, а не устройство браузерного генератора.
Протокол и воспроизводимость
Протокол представлен в JSON (JavaScript Object Notation) — текстовом формате записи значений, списков и пар «имя поля — значение». [12] В нём можно прочитать поля input (принятый список) и winners (победители). Протокол текущего инструмента содержит версию, время по часам устройства, полный принятый список, число мест, описание метода и выбранные записи. Отдельные поля сообщают, что программа не начисляла дополнительные шансы, не проверяла личности и не предотвращала несколько выигрышей одного человека. Он помогает увидеть, что организатор объявил входом и результатом конкретного запуска. Проверяющий может пересчитать записи, найти каждый выбранный код во входе и убедиться, что в результате нет повтора. Эти действия проверяют согласованность документа, но ещё не доказывают случайное происхождение результата.
Однако этот протокол не делает выбор воспроизводимым. Текущая версия формы не сохраняет исходные 32-битные значения, не принимает seed и не ссылается на заранее определённый импульс внешнего маяка. Seed, или начальное значение, — входная последовательность битов для псевдослучайного процесса. [11] Чтобы повторить вычисление, нужны согласованные алгоритм, его состояние и все исходные данные; одного названия генератора недостаточно. Поэтому другой человек не может по одному JSON-протоколу повторить вычисление и получить доказательство, что именно эти победители следуют из зафиксированной случайности.
Учебный пример воспроизведения. Для списка A, B, C выберем два места и подадим функции выбора заранее записанные числа 4, 0 вместо браузерного источника. На первом шаге остаток от деления четырёх на три равен единице: выбирается B. После перестановки оставшиеся записи — A, C; второе число даёт нулевой индекс, и выбирается A. Повтор с тем же списком, порядком, алгоритмом и числами снова даст B, A. Если поменять порядок входа на C, B, A, те же числа дадут B, C. Это демонстрация детерминированности вычисления, то есть зависимости результата от точно заданных входов, а не функция сохранённого протокола формы.
Редактируемый JSON также не доказывает, что список существовал в таком виде до запуска. Для более строгой публичной процедуры можно заранее зафиксировать список и правила, затем использовать независимо публикуемое значение и детерминированный алгоритм. Хеш помогает сравнить версии данных, но не подтверждает их допустимость: контрольная сумма ошибочного списка остаётся контрольной суммой ошибочного списка. Возможности NIST Beacon показывают один из способов публиковать подписанные и связанные случайные значения, но текущий инструмент его не реализует. [3]
Как применяется на практике
Сначала организатор сохраняет исходные заявки и отдельно формирует принятый список. Первый набор нужен, чтобы объяснить исключения; второй определяет, между какими единицами проводится выбор. Если оставить только победителей, нельзя восстановить состав множества. Если оставить все заявки без решений о допуске, неясно, кто действительно участвовал. При дополнительных шансах в журнале подготовки указывают также основание каждого кода и проверяют общий лимит на человека. Итоговая сверка должна отвечать на два вопроса: каждому ли разрешённому шансу соответствует запись и у каждой ли записи есть основание.
Затем заранее фиксируется значение порядка. Если первый результат получает главный приз, а второй и третий — дополнительные, это должно быть известно до запуска. Назначение призов после просмотра списка добавляет организатору возможность изменить итог, хотя сами индексы были получены случайно.
При недопуске уже выбранной записи повторный выбор проводят только по заранее описанной процедуре. Рандомайзер не определяет, достаточно ли основания для исключения. В рабочей записи полезно указать причину, проверившего её человека и пункт правил, на который он опирался.
Мини-инструмент
Открыть автономный инструмент.
Форма принимает от 1 до 2 000 непустых идентификаторов и положительное целое число мест, не превышающее размер списка. Длина каждой строки после обработки ограничена 200 единицами UTF-16, а всего исходного ввода — 500 000 единицами. UTF-16 — способ кодирования символов с помощью 16-битных единиц; JavaScript считает длину строки именно в таких единицах. Поэтому длина может отличаться от числа видимых знаков. [9] Например, А занимает одну единицу, а 😀 — две: строка из ста таких смайликов достигает предела 200, из ста одного — превышает его. Эти примеры проверяют конкретное правило формы, а не универсальное число любых значков на экране. Исходный код выполняет выбор без сетевых запросов и автоматического сохранения. В HTML также задан запрет сетевых соединений; его фактическое применение конкретным браузером требует отдельной проверки.
Инструмент показывает упорядоченные выбранные записи и JSON-протокол. Он не проверяет аккаунты, подписки, возраст, задания, связь нескольких идентификаторов с одним человеком, право на приз и соблюдение закона. Автоматического начисления дополнительных шансов и запрета повторного выигрыша человеком нет; эти ограничения указаны также рядом с формой и в протоколе. В протокол попадает полный введённый список, поэтому реальные ФИО, телефоны и адреса электронной почты вводить в учебную форму не следует.
Как измерить или проверить
Проверка алгоритма и проверка реального розыгрыша отвечают на разные вопросы. Для кода полезны управляемые тесты: один элемент, выбор всего списка, слишком большое число мест, дубли после NFC-нормализации, отсутствие Web Crypto и значение из отбрасываемого хвоста.
Проверку удобно проводить на учебном списке A, B, C. При запросе трёх мест результат должен содержать каждую запись ровно один раз; при запросе четырёх — сообщение об ошибке без результата. Две канонически эквивалентные записи é должны вызвать ошибку дубликата, а User7 и user7 остаться разными. После очистки поля, победители и протокол должны исчезнуть. Для проверки ветви отбрасывания нужны управляемые числа, потому что случайный запуск может её не затронуть.
Частотный опыт на малом числе запусков не заменяет такие тесты. Повторы одного победителя в разных независимых запусках возможны при корректной случайности, а ровная картинка на короткой серии не доказывает равномерность будущих значений.
Ошибки, ограничения и спорные вопросы
Главная ошибка — считать, что программа выбирает людей. Она выбирает строки. Два одинаковых имени могут принадлежать разным людям, а один человек может использовать разные идентификаторы. Связь между записью и участником проверяется вне формы.
Вторая ошибка — повторять запуск до удобного результата. Каждый новый запуск создаёт новую процедуру. Допустимость повтора и судьба уже выбранного результата должны быть определены правилами акции, а не желанием организатора.
Третья ошибка — называть локальный JSON независимым доказательством. Он не подписан, не содержит исходных случайных значений и редактируется как обычный текст. Его полезность ограничена честной фиксацией заявленных данных.
Наконец, криптографически стойкий генератор не равен полной прозрачности розыгрыша. Он улучшает источник случайных чисел, но не проверяет состав списка, действия организатора и правовой режим мероприятия.
Правовой аспект
В России применение рандомайзера само по себе не определяет правовой вид акции. Если реклама сообщает о конкурсе, игре или подобном мероприятии, участие в котором обусловлено покупкой товара, статья 9 Федерального закона № 38-ФЗ в пункте 1 требует указать сроки мероприятия, а в пункте 2 — источник информации об организаторе, правилах, количестве призов или выигрышей, сроках, месте и порядке их получения. Использована редакция закона от 04.08.2026, действующая с 01.09.2026. [5]
Случайный способ выбора не заменяет анализ всей механики, условий участия и иных применимых норм. Статья не квалифицирует конкретную акцию как лотерею, стимулирующее мероприятие или иной вид продвижения; это должен сделать юрист по полным правилам и фактическим обстоятельствам.
Если идентификатор позволяет прямо или косвенно определить человека, он может относиться к персональным данным по пункту 1 статьи 3 Федерального закона № 152-ФЗ. Статья 5, части 1, 2, 4 и 5, требует законной и справедливой обработки, заранее определённой законной цели, соответствующего ей состава данных и отсутствия избыточности. По части 7 хранение в форме, позволяющей определить человека, ограничено сроком, необходимым для целей обработки, с предусмотренными этой частью исключениями для федерального закона и договора. Проверена редакция от 26.07.2026. [6] Внутренний код снижает объём открытых данных, но сам по себе не гарантирует юридического обезличивания: пункт 9 статьи 3 связывает его с невозможностью определить принадлежность данных человеку без дополнительной информации. [6] До реального применения нужны проверка юриста и решение о том, какие данные допустимо вводить, хранить и публиковать.
Британский CAP Code, кодекс рекламного саморегулирования, в правиле 8.24 требует для prize draw присуждать призы по законам случая и связывает отсутствие независимого лица с компьютерным процессом, который даёт проверяемо случайные результаты. Это правило британской системы саморегулирования, а не российская сертификация рандомайзера. [4]
Частые вопросы
Рандомайзер проверяет выполнение задания?
Нет. Текущая форма получает уже подготовленный список. Подписку, комментарий, возраст и другие условия проверяют до запуска другими средствами.
Можно ли выбрать одного человека дважды?
Да, если человеку соответствуют разные коды. Одна и та же строка в одном запуске не повторяется, но принадлежность разных строк одному человеку форма не проверяет. При условии «не более одного приза на человека» подготовленные дополнительные шансы нельзя разыгрывать этой формой без изменения модели.
Можно ли воспроизвести выбор по протоколу?
Нет. Протокол показывает заявленные вход и результат, но не сохраняет случайные значения или проверяемый seed. Для воспроизведения нужна иная, заранее описанная схема.
Случайный выбор делает акцию законной?
Нет. Правовой режим зависит от всей механики, рекламы, условий, данных и применимых норм. Результат генератора не заменяет юридическую проверку.
Решить с помощью сервиса
По внутреннему описанию продукта сервис «Розыгрыши и подарки» готовится к запуску для проведения розыгрышей в Telegram, MAX и ВКонтакте; заявлены дополнительные шансы и прозрачный выбор победителей. В описании также предусмотрен бесплатный рандомайзер с протоколом выбора. Эти заявленные возможности сервиса не являются перечнем функций учебной формы этой статьи; её ограничения описаны отдельно.
Связанные термины
Источники
- W3C Web Cryptography Working Group. (2017, January 26). Web Cryptography API (W3C Recommendation), §§ 10.1–10.2.1. https://www.w3.org/TR/2017/REC-WebCryptoAPI-20170126/ (дата обращения: 02.11.2026). ↑ а б в г д
- MDN contributors. (2025, August 19). Crypto: getRandomValues() method. MDN Web Docs. https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues (дата обращения: 02.11.2026). ↑ а б
- National Institute of Standards and Technology. (n.d.). Interoperable Randomness Beacons: NIST Randomness Beacon Version 2.0 Beta. https://csrc.nist.gov/Projects/interoperable-randomness-beacons/beacon-20 (дата обращения: 02.11.2026). ↑ а б
- Committee of Advertising Practice. (n.d.). CAP Code. Section 08: Promotional marketing, rule 8.24. Advertising Standards Authority. https://www.asa.org.uk/type/non_broadcast/code_section/08.html (дата обращения: 02.11.2026). ↑ а б
- Российская Федерация. Федеральный закон от 13.03.2006 № 38-ФЗ «О рекламе» (ред. от 04.08.2026). Статья 9. https://www.kontur-extern.ru/info/normativ/document/1/507965-federalnyy-zakon-ot-13-03-2006-n-38-fz (дата обращения: 02.11.2026). ↑
- Российская Федерация. Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных» (ред. от 26.07.2026). Статья 3, п. 1, 9; статья 5, ч. 1, 2, 4, 5, 7. https://legalacts.ru/doc/152_FZ-o-personalnyh-dannyh/glava-1/statja-3/; https://www.consultant.ru/document/cons_doc_LAW_61801/96fbc469f91f57235cc842a85e0516a99f23dc85/ (дата обращения: 02.11.2026). ↑ а б
- Aristotle. (n.d.). The Athenian Constitution (F. G. Kenyon, Trans.), parts 63–64. The Internet Classics Archive, MIT. https://classics.mit.edu/Aristotle/athenian_const.3.3.html (дата обращения: 02.11.2026). ↑
- Unicode Consortium. (2026, August 12). Unicode Standard Annex #15: Unicode Normalization Forms (Revision 58), §§ 1.1–1.2. https://www.unicode.org/reports/tr15/ (дата обращения: 02.11.2026). ↑
- Ecma International. (2026, June). ECMA-262: ECMAScript 2026 Language Specification (17th ed.), § 6.1.4, нормативная HTML-версия. https://262.ecma-international.org/17.0/index.html#sec-ecmascript-language-types-string-type (дата обращения: 02.11.2026). ↑
- National Institute of Standards and Technology. (n.d.). Entropy. CSRC Glossary. Определения из SP 800-22 Rev. 1a и SP 800-90A Rev. 1. https://csrc.nist.gov/glossary/term/entropy (дата обращения: 02.11.2026). ↑
- National Institute of Standards and Technology. (n.d.). Seed. CSRC Glossary. Определения входа псевдослучайного процесса. https://csrc.nist.gov/glossary/term/seed (дата обращения: 02.11.2026). ↑
- Bray, T. (Ed.). (2017, December). The JavaScript Object Notation (JSON) Data Interchange Format (RFC 8259), abstract; § 1. IETF. https://www.rfc-editor.org/rfc/rfc8259.html (дата обращения: 02.11.2026). ↑
Служебный блок
- Версия
- 6.0
- Факты проверены
- Подготовка
- Редакция Медиатрона
- Публикация
- утверждена владельцем издания 5 ноября 2026 г.
Редакция Медиатрона. Факты сверены с первоисточниками на дату проверки, публикация утверждена владельцем издания.
Нашли ошибку? info@mediatrone.ru