Рейтинг:0

Возможно ли иметь хэш в форме UUID, который заканчивается 16 символами вместо 12?

флаг uz

Возможно, вы знаете, что иногда хэш в URL-адресе может быть в формате UUID, который состоит из групп шестнадцатеричных значений, разделенных дефисами. В формате UUID я узнал, что этот хэш принимает форму:

8-4-4-4-12 всего 32 символа. Однако я наткнулся на URL-адрес с хэшем для параметра запроса, который выглядел так:

9ced2fb4-f1df-4f00-af76-940736bfeee0001f

Обратите внимание, что это формат 8-4-4-4-16.

Теперь мне было интересно, действительно ли это формат UUID или это что-то совершенно другое. Следует отметить, что имя параметра запроса было cid, поэтому я не знаю, является ли «cid» альтернативой UUID или что-то в этом роде.

Кроме того, независимо от того, является ли это UUID или нет, как преобразовать этот тип хэша в обычный хеш без дефисов (под этим я хочу сказать, что хочу преобразовать его в результат, который вы получите, просто используя алгоритм хеширования, такой как MD5 или SHA-1 или что-то в этом роде)?

флаг ph
Нет причин думать, что здесь вообще задействованы хэш-функции. Если что-то выглядит как UUID, вероятно, так оно и есть. Вы спрашиваете, как удалить дефисы из строки?
Rikudou avatar
флаг uz
@ bmm6o Я понял, что из этого вопроса здесь задействована хэш-функция: https://crypto.stackexchange.com/questions/83278/does-it-make-sense-that-a-hash-is-separated-by -hyphens Казалось бы, это означает, что UUID происходит от выполнения чего-либо с хэшем. Однако даже в приведенной выше ссылке и вики, на которую она указывает, подразумевается, что UUID принимает форму 8-4-4-4-12. Между тем строка в моем посте 8-4-4-4-16. Это еще один спорный момент для меня.
флаг ph
Если ваш вопрос, в конечном счете, «как была создана эта строка», на самом деле мы не можем ответить на него.
Рейтинг:1
флаг ph

UUID довольно хорошо стандартизированы в промышленности как 16-байтовый объект с шестнадцатеричным представлением 8-4-4-4-12. Существует несколько способов создания UUID, и некоторые из них включают хеширование, но просто взять 16 байтов из вывода хеш-функции и назвать его UUID несовместимо.

Очевидно, что любая последовательность байтов длиной, не равной 16, не является UUID. Вполне разумно черпать вдохновение из стандартного шестнадцатеричного представления UUID для произвольного массива байтов. Формат UUID имеет то преимущество, что использует небольшой набор символов и имеет визуальные разделители для уменьшения ошибок транскрипции.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.