В моем приложении golang я использую метку времени второго разрешения Unix (сгенерированную с помощью time.Now().UTC().Unix()
) как часть соли в хеш-функции, используемой для аутентификации запроса.
Есть желание сохранить эту временную метку в хранилище данных, где условным обозначением являются строки меток времени с наносекундным разрешением RFC3339, сгенерированные функцией golang RFC3339Nano , вместе с хешем для аутентификации.
Вопрос: существует ли риск того, что RFC3339Nano не может быть обращен точно к исходной метке времени Unix, если хэш необходимо будет повторно аутентифицировать позже?
Я знаю, что есть некоторые проблемы с високосными секундами , которые применяются к меткам времени Unix; Возможно ли когда-нибудь, что циклическое переключение через RFC3339Nano приведет к другой метке времени, что приведет к ошибочной подписи?
Отметка времени RFC3339Nano и отметка времени Unix генерируются из одного и того же времени. Структура времени.
Я склонен думать, что это сработает, поскольку високосные секунды порождают лишнюю 61-ую секунду в день их появления , который, как я ожидаю, отобразится на ту же метку времени Unix, что и предыдущая секунда. Однако обратное явно потерпит неудачу.