0

私の golang アプリケーションではtime.Now().UTC().Unix()、要求認証に使用されるハッシュ関数のソルトの一部として、Unix の 2 番目の解像度のタイムスタンプ (で生成) を使用しています。

このタイムスタンプをデータストアに保存したいという要望があります。ここでの規則は、golang RFC3339Nano functionによって生成された RFC3339 ナノ秒解像度のタイムスタンプ文字列と、認証用のハッシュです。

質問: ハッシュを後で再認証する必要がある場合に、RFC3339Nano を元の Unix タイムスタンプに正確に戻すことができないというリスクはありますか?

Unix タイムスタンプに適用される閏秒に関するいくつかの問題があることは知っています。RFC3339Nano を介したラウンドトリップによって異なるタイムスタンプが発生し、誤って署名が無効になる可能性はありますか?

RFC3339Nano タイムスタンプと Unix タイムスタンプは、同じ time.Time 構造体から生成されます。

閏秒が発生した日に余分な 61 秒を生成するため、それが機能すると考える傾向があります。これは、前の秒と同じ Unix タイムスタンプにマップされると予想されます。ただし、逆は明らかに失敗します。

4

1 に答える 1