これは、直接how to generate a unique token which expires after 24 hours?Base64Stringから特定のデータを取り出す方法は?
に関連している私は何を組み込むされませんしようとしています以下:(0〜6)
- ページ番号UTC形式で
- 現在の日付/タイムスタンプ :
- とユニークなGUID
私がこれまで持っているコードはこれです
private string GenerateToken(Int32 pageNumber)
{
byte[] currentTimeStamp = BitConverter.GetBytes(DateTime.UtcNow.ToBinary());
byte[] key = Guid.NewGuid().ToByteArray();
byte[] newPageNumber = BitConverter.GetBytes(pageNumber);
string token = Convert.ToBase64String(newPageNumber.Concat(currentTimeStamp).Concat(key).ToArray());
return token;
}
private tokenClass TokenAuthenticates(string token)
{
byte[] data = Convert.FromBase64String(token);
tokenClass _token = new tokenClass()
{
PageNumber = 0,
TokenDateTimeStamp = DateTime.FromBinary(BitConverter.ToInt64(data, 1)),
TokenKey = new Guid(),
Validates = (DateTime.FromBinary(BitConverter.ToInt64(data, 1)) < DateTime.UtcNow.AddHours(-2))
};
return _token;
}
デコーダのpageパラメータとguidパラメータはまだ把握されていないため、基本的にダミーです。
これを行うには何が必要ですか?
何が問題なのですか? – CodingYoshi
最初に...私はBase64Stringからページ番号を引き出すことができる必要があり、私はそれをどうするか考えていません。また、日付は、guidの2016ではなく1594のように表示されます。ページ番号と同じですが、validateは有効な日付のみに依存します。 –
実際にはhavent ...私は参照されたSOページを適応しようとしていました。絶対に運がない。 –