Нестандартная генерация UUID (например, использование счетчиков) - PullRequest
0 голосов
/ 23 февраля 2019

Я часто нахожусь в ситуации, когда я хочу быстро генерировать очень большое количество UUID.Было бы желательно «правильно» сгенерировать один UUID, а затем манипулировать им для генерации остальных.Например, я мог бы просто «добавить один» к младшим битам UUID.

Для большинства моих приложений я достаточно контролирую потребителей UUID, чтобы гарантировать, что они принимают эти UUID без каких-либо затруднений.Мне интересно, могу ли я сказать то же самое, если бы я не контролировал потребителей.

В частности, меня интересуют следующие три алгоритма:

  • Генерация UUID v5с какой-то уникальной строкой.Для последующих UUID добавьте 1 в раздел «узел» (последние байты)
  • Создать UUID v4 из псевдослучайного источника.Снова добавьте 1 в раздел «узел» для последующих идентификаторов UUID (фактически используя испорченный источник случайных чисел с сильной корреляцией с первым числом)
  • Создание UUIDv5 с некоторой уникальной строкой.Вручную измените номер версии на v4 и начните добавлять 1 для последующих идентификаторов UUID.

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

...