時間(現在の時間)に基づいてトークンを生成するために次のプログラムを使用しています。正常に動作しました。トークンが生成されることを意味します。
public string GenerateToken()
{
MD5 md5 = System.Security.Cryptography.MD5.Create();
DateTime input = DateTime.Now;
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input.ToString());
byte[] hash = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("X2"));
}
return sb.ToString();
}
そして、次のプログラムを使用して、トークンを 2 分でロック (期限切れ) しようとしGetToken() method
ますparticular Time(current Time)
。 () 2 分前に同じトークンを取得する必要があります。しかしgetToken()
、2 分後に新しいトークンを取得する必要があります。これを行うにはどうすればよいですか?トークンをロックするにはどうすればよいですか?
public string GetToken()
{
DateTime currentTime = DateTime.UtcNow;
tokenExp = DateTime.UtcNow.AddMinutes(2);
if (tokenExp >= currentTime)
{
token = GenerateToken();
return token;
}
else lock (tokenLock)
{
if (tokenExp >= currentTime)
{
token = GenerateToken();
//return token;
}
return token;
}