golang: преобразование 16-байтового uuid в 32 байта

# #go

Вопрос:

Я пытаюсь сохранить uuid в качестве поля для заметок в звездной транзакции. Поле memo будет занимать строку размером 28 байт или меньше; (как строка, uuid равен 36 байтам, так что это не сработает). Он также может принимать хэш в 32 байта. В байтах uuid равен 16 байтам.

Поэтому мне интересно, есть ли способ преобразовать мой uuid в тип байта, равный 32 байтам?

Комментарии:

1. У вас есть 16-байтовый uuid, и вы хотите создать 32-байтовый хэш? Удвоьте uuid, и у вас будет идеальный 32-байтовый хэш.

2. Или оставьте оставшиеся 16 байтов нулевыми — та же гарантия уникальности.

3. Требуется ли для этого отформатированный хэш? Тогда 32 хэш-символа точно соответствуют 16 необработанным байтам. Или вы можете закодировать его на основе 64, тогда у вас будет 24 удобочитаемых символа.

4. @rustyx , это довольно хорошо. вы хотите ответить, base64.StdEncoding.EncodeToString(uuid.Bytes()) и я поддержу/приму это?