Генератор ULID (поддержка ULID / Crockford Base32 / Monotonic)

Об этой утилите

Эта утилита генерирует ULID (Universally Unique Lexicographically Sortable Identifier). ULID состоит из 48-битного метки времени эпохи (миллисекунды) и 80 бит случайных данных, которые кодируются в 26 символов по Crockford Base32 (0123456789ABCDEFGHJKMNPQRSTVWXYZ). Можно выбрать источник времени (Local / IANA / фиксированный сдвиг) и какое время использовать (текущее или заданное), и значения UTC/местное, показанные в превью, всегда совпадают с меткой времени, применённой при генерации. По спецификации метка времени ULID хранится в миллисекундах UTC; часовой пояс влияет только на отображение.

Проверка времени

Генерация и вывод

Как пользоваться

  1. В Проверке времени выберите Local / IANA / Фиксированный сдвиг (обычно достаточно настроек по умолчанию).
  2. В Использовать время выберите Текущее время или Заданная дата/время. При вводе укажите YYYY-MM-DDTHH:MM[:SS[.mmm]]; превью и генерация используют это значение.
  3. Укажите Количество, при необходимости переключите Монотонную генерацию и нажмите Генерировать. Результаты появятся построчно.

Дополнительные замечания

  • Превью показывает текущие UTC и локальное время выбранного источника. При генерации используется именно эта метка времени.
  • Часовые пояса IANA определяют сдвиг с учётом перехода на летнее время (DST) через итеративные уточнения.
  • Каждое нажатие заново инициализирует источник случайности, поэтому даже при том же миллисекундном тике и настройках получается новая последовательность.

Предупреждения

  • Метка времени ULID всегда представляет собой миллисекунды эпохи UTC; часовые пояса влияют только на отображение. При генерации с текущим временем смена пояса не меняет биты метки.
  • Только при выборе Заданная дата/время введённое время преобразуется в UTC (через выбранный источник) и применяется к метке.
  • Монотонный режим ВКЛ: случайность увеличивается в пределах одного миллисекундного тика (монотонный ULID). ВЫКЛ: случайность полностью перетасовывается.

Что такое ULID?

ULID состоит из 48-битной метки времени в миллисекундах и 80 бит случайности, благодаря чему идентификаторы сортируются по времени в порядке ASCII.
Как и UUID v7, его удобно упорядочивать по времени, а Crockford Base32 позволяет безопасно вставлять его в URL и имена файлов (26 заглавных символов, без I/L/O/U для лучшей читаемости).