5 秒まで一定の 6 桁の数字を生成するロジックを取得しました。これがコードです。問題は、以下のルーチンが順番に番号を生成することです。これは、次の番号が何であるかをユーザーが推測できないように動的にしたいのではなく、望んでいません。
public static int GetTimestamp()
{
// 10m ticks in a second, so 50m in 5 seconds
const int ticksIn5Seconds = 50000000;
return (int)((DateTime.Now.Ticks / ticksIn5Seconds) % 1000000);
}
ここでは、C# で一意の 8 桁の番号を生成する別のコードを示します。
public string Get8Digits()
{
var bytes = new byte[4];
var rng = RandomNumberGenerator.Create();
rng.GetBytes(bytes);
uint random = BitConverter.ToUInt32(bytes, 0) % 100000000;
return String.Format("{0:D8}", random);
}
両方のロジックを組み合わせて、次の 6 桁の数字が生成されると推測できないランダムな 6 桁の数字を生成しようとしています。目標を達成するために何をすべきかのガイダンスを探しています。ありがとう。