IT Market
Инструменты/Код/Данные/Генератор UUID v4 онлайн — создать GUID ключ
UUID

Генератор и форматирование

Коротко об инструменте

Генератор UUID v4 онлайн — создать GUID ключ

UUID — это 128-битный идентификатор из 32 шестнадцатеричных символов, разбитых дефисами на группы 8-4-4-4-12. Здесь генерируется четвёртая версия: случайная, с цифрой 4 в начале третьей группы. Такой ключ нужен, когда запись создаётся на клиенте до обращения к базе или когда платёжному запросу требуется ключ идемпотентности. Страница ничего никуда не отправляет: значение собирается в браузере и остаётся в поле, пока вы его не скопируете. Смотрите также: сгенерировать случайную строку заданной длины, надёжный пароль для того же сервиса, посчитать MD5 или SHA-256 от значения.

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

  1. Откройте страницу — первый UUID уже стоит в поле Generated UUID, он создаётся автоматически при загрузке.
  2. Нажмите Generate, чтобы заменить значение новым идентификатором; кнопку можно жать сколько угодно раз.
  3. Нажмите Copy — содержимое поля Generated UUID выделяется и уходит в буфер обмена целиком, вместе с дефисами.
  4. Нужен список для тестовых данных или миграции — нажмите Bulk (10), и ниже раскроется блок Bulk Generated.
  5. Выделите десять строк из Bulk Generated и вставьте их в SQL-скрипт, CSV или фикстуру теста.

Вопросы и ответы

Какая версия UUID здесь генерируется?

Только четвёртая, UUID v4. Её видно по самой строке: третья группа всегда начинается с цифры 4, а четвёртая — с 8, 9, a или b. Версии v1 и v7, которые кодируют время и MAC-адрес, страница не делает; если вам нужен сортируемый по времени идентификатор, v4 не подойдёт, у него нет никакого порядка.

Можно ли использовать эти UUID как секретный токен или пароль?

Значения теперь даёт crypto.randomUUID — криптографический генератор самого браузера, поэтому предсказать следующий идентификатор по нескольким предыдущим нельзя. Осторожность всё же уместна: в UUID v4 случайны 122 бита из 128, формат публичный и узнаваемый, а сам идентификатор часто оседает в логах, аналитике и адресной строке. Для ссылок восстановления пароля и сессионных ключей выпускайте токен на стороне сервера, а UUID оставьте идентификатором записи.

Сколько идентификаторов даёт кнопка Bulk (10) и можно ли получить сто?

Ровно десять за нажатие — число зашито в код, поля для своего количества на странице нет. Если нужно сто, нажмите Bulk (10) десять раз, каждый раз копируя блок Bulk Generated в свой файл. Повторов бояться не нужно: вероятность совпадения двух случайных v4 при таких объёмах практически нулевая.

Чем UUID отличается от GUID и можно ли вставить его в C# или SQL Server?

GUID — это название той же 128-битной структуры в экосистеме Microsoft, формат записи совпадает. Строку отсюда можно передать в Guid.Parse в C# или вставить в столбец uniqueidentifier в SQL Server. Учтите только, что SQL Server и .NET показывают такое значение в верхнем регистре, а здесь выдаётся нижний — на сравнение это не влияет, регистр в hex не значим.

Почему UUID стоит в поле сразу при открытии страницы?

Скрипт вызывает генерацию при загрузке, чтобы значение можно было скопировать без единого клика. Это обычный случай: зашли, нажали Copy, вставили в тикет. Если вам нужно именно свежее значение, а не то, что показалось при открытии, нажмите Generate перед копированием.

Идентификаторы где-то сохраняются или логируются?

Нет. Генерация целиком происходит в JavaScript на вашей вкладке, ни одного сетевого запроса с готовым значением страница не делает. После перезагрузки прежние UUID нигде не восстановить — если значение важно, сохраните его сами до закрытия вкладки.

Примеры

Ключ идемпотентности для платёжного запроса
До: POST /payments Idempotency-Key: ???
После: POST /payments Idempotency-Key: 3f2a91c4-77be-4d0e-9b21-c58e4a7f1d63
Десять строк для тестовой таблицы
До: Нажата кнопка Bulk (10)
После: 9c1d4e7a-2b60-4f18-8a3c-5d90e1f27b44 b47f0a52-9e13-4c8d-a6f0-31b7d5e08c29 … и ещё восемь строк такого же вида