Каков формат этой шестнадцатеричной метки времени из идентификатора сообщения Amazon SES? - PullRequest
1 голос
/ 10 марта 2020

Идентификаторы сообщений Amazon SES имеют следующий формат:

01020170c41acd6e-89acae55-6245-4d89-86ca-0a177e59e737-000000

Кажется, что он состоит из 3 отдельных частей

  1. 01020170c41acd6e быть своего рода шестнадцатеричной отметкой времени. Разница между двумя временными метками - это время, прошедшее в миллисекундах, но, похоже, оно не начинается в эпоху
  2. c2daf94a-f258-4d59-8fdb-a5512d4c7638, очевидно, стандартная версия 4 UUID
  3. 000000 остается неизменной для первая отправка, и я предполагаю, что увеличивается для попыток повторной доставки

У меня есть необходимость генерировать «поддельный» идентификатор сообщения в некоторых сценариях ios. Подделать 2 и 3 выше тривиально, но я не могу понять, каков формат отметки времени выше. Вот еще несколько примеров с соответствующим приблизительным временем:

  • 01020170c450e280 - 10 марта 2020 года в 12:00: 00,190
  • 01020170c44c2e6a - 10 марта 2020 года в 11: 54: 51,987
  • 01020170c0e30119 - 09 марта 2020 г. в 20: 01: 07.407

В каком формате эта метка времени?

1 Ответ

1 голос
/ 11 марта 2020

Используя ваш первый пример 01020170c450e280, строку можно разбить на 01020 и 170c450e280.

170c450e280 hex == 1583841600128 dec == 2020-03-10T12:00:00.128Z.

Однако я боюсь, что префикс 01020 остается для меня загадкой.

...