在我的golang应用程序中,我使用Unix秒分辨率时间戳记(由time.Now().UTC().Unix()
生成)作为用于请求身份验证的哈希函数中的salt的一部分。
人们希望将此时间戳存储在数据存储中,其中约定是golang RFC3339Nano function生成的RFC3339纳秒分辨率的时间戳字符串以及用于验证的哈希。
问题:如果以后需要重新验证哈希,是否存在无法将RFC3339Nano准确地还原为原始Unix时间戳的风险?
我知道leap seconds存在一些问题,这些问题适用于Unix时间戳;是否有可能通过RFC3339Nano来回传递会导致时间戳不同,从而错误地使签名无效?
RFC3339Nano时间戳和Unix时间戳是从同一时间生成的。时间结构。
我倾向于从leap-seconds spawn an extra 61st second at the day of their occurrence开始使用,我希望它将映射回与前一秒相同的Unix时间戳。反过来显然会失败。
答案 0 :(得分:0)
我认为您没有理由遭受这种麻烦,为什么不直接使用Unix()直接存储到数据库并使用它进行还原呢?