Разработка

Генератор ULID

Создайте ULID с временной частью и криптографической случайностью в обычной записи или JSON.

  • Быстро и бесплатно
  • Данные остаются у вас
  • Без регистрации
01

Исходные данные

На вашем устройстве

Обновляется при вводе

Данные и параметры инструмента
02

Результат

Здесь появится результат

Введите данные, результат появится автоматически

Для чего нужен генератор ULID

Генератор ULID создает идентификаторы с временной и случайной частями. Можно получить одну строку или список до 1000 значений, скопировать их по отдельности либо скачать как текст или JSON-массив.

Как устроен ULID

ULID содержит 128 бит: 48 бит времени в миллисекундах и 80 бит случайной части. Текстовая запись занимает 26 символов алфавита Crockford Base32. Временная часть стоит первой, поэтому лексикографическая сортировка связана со временем создания.

В пределах одной серии этот генератор увеличивает случайную часть, если несколько значений создаются в одну миллисекунду. Между независимыми запусками общий монотонный порядок не поддерживается. Подробнее устройство формата описывает спецификация ULID.

Сортировка по времени и реальный порядок событий

Временная часть ULID позволяет группировать идентификаторы по времени их создания. Это не означает, что событие произошло в этот момент: идентификатор могли создать до обработки, после приема очереди или на устройстве с неверными часами.

Внутри одной миллисекунды случайная часть обычно не описывает причинный порядок независимых систем. Монотонное увеличение в пределах одной серии здесь дает локальную последовательность, но не синхронизирует несколько браузеров и не заменяет номера событий в распределенной системе.

ULID и UUID как способы хранения идентификатора

Оба формата используют 128-битное пространство, но их текстовая запись и расположение значимых частей различаются. ULID использует компактную Base32-строку без дефисов и с временным префиксом. Это не делает его строкой в стандартном текстовом формате UUID.

Перед заменой формата поля проверьте длину, допустимый алфавит, сравнение строк и сериализацию API. Если базе нужен именно тип UUID, простого копирования 26-символьной записи может быть недостаточно. Этот генератор не мигрирует схему хранения и не преобразует существующие идентификаторы.

Создание списка и выбор формата

Установите «Количество» и «Формат». Список создается при загрузке и изменении настроек; «Сгенерировать» дает новую серию. В обычной записи каждый ULID находится на отдельной строке, в JSON результатом является массив строк.

Формат полезен для тестовых записей, очередей и объектов, для которых удобно видеть порядок создания в сортировке. При переносе в базу учитывайте правила сравнения строк и ограничения ее поля.

Что идентификатор не гарантирует

Временная часть зависит от часов устройства. При переводе часов назад порядок разных запусков может нарушиться. Генератор не согласует значения с базой данных и не проверяет коллизии с существующими записями; уникальность на уровне приложения обеспечивайте ограничениями хранения.

ULID не следует использовать как секретный токен доступа: временная часть читается из идентификатора, а назначение формата состоит в идентификации, не в сокрытии информации.