Как сгенерировать UTID на основе UUID в ruby? - PullRequest
0 голосов
/ 26 апреля 2018

Мне нужно сгенерировать UTID в ruby. Вот что я нашел в одной документации.

UTID - многие сервисы используют уникально сгенерированный идентификатор, называемый уникальным Идентификаторы транзакций (UTID). Эти идентификаторы основаны на стандартных UUID, но модифицировано, чтобы быть более читабельным. Процесс создания UTID следующим образом:

  1. Создание версии 4 (случайное) UUID

  2. Преобразование UUID в двоичное представление из 16 байтов

  3. Кодирование двоичного UUID с использованием base32

  4. Для удобства чтения UTID может иметь тире "-", вставляемую каждые 5 символов с конечной группой из 6 символов.

Конкретный набор символов для кодировки base32 должен быть 0123456789ABCDEFGHJKMNPQRSTVWXYZ. Пример для преобразования UUID d0ab7ada-1a1e-4893-8e1e-4ab07da05dc3 UTID T2NQN-PGT3S-4973G-Y9AR7-V82XRC.

(Я использую пример из приведенной выше документации для проверки своих результатов. Но они никогда не совпадают.)

Проблема в том, что я не могу воссоздать эти шаги точно. Я не уверен, как реализовать 2-й и 3-й этапы. Для первого шага я использую это:

SecureRandom.uuid.delete('-') 

Как реализовать все остальные шаги?

...