Мне нужно сгенерировать UTID в ruby. Вот что я нашел в одной документации.
UTID - многие сервисы используют уникально сгенерированный идентификатор, называемый уникальным
Идентификаторы транзакций (UTID). Эти идентификаторы основаны на стандартных UUID, но
модифицировано, чтобы быть более читабельным. Процесс создания UTID
следующим образом:
Создание версии 4 (случайное) UUID
Преобразование UUID в двоичное представление из 16 байтов
Кодирование двоичного UUID с использованием base32
Для удобства чтения UTID может иметь тире "-"
, вставляемую каждые 5 символов с конечной группой из 6 символов.
Конкретный набор символов для кодировки base32 должен быть
0123456789ABCDEFGHJKMNPQRSTVWXYZ
. Пример для преобразования UUID
d0ab7ada-1a1e-4893-8e1e-4ab07da05dc3
UTID
T2NQN-PGT3S-4973G-Y9AR7-V82XRC
.
(Я использую пример из приведенной выше документации для проверки своих результатов. Но они никогда не совпадают.)
Проблема в том, что я не могу воссоздать эти шаги точно. Я не уверен, как реализовать 2-й и 3-й этапы. Для первого шага я использую это:
SecureRandom.uuid.delete('-')
Как реализовать все остальные шаги?