我最近遇到了一个系统,其中所有的数据库连接都是由各种方式模糊的例程管理的,包括base 64编码,md5sums和各种其他技术.
这只是我,还是这种矫枉过正?有哪些替代方案?
我创造了一个骰子游戏,骰子基于百分位数,1-100.
public static void Roll()
{
Random rand = new Random((int)DateTime.Now.Ticks);
return rand.Next(1, 100);
}
Run Code Online (Sandbox Code Playgroud)
但我不认为这是基于当前时间的真实随机.
如果我做
for (int i = 0; i < 5; i++)
{
Console.WriteLine("#" + i + " " + Roll());
}
Run Code Online (Sandbox Code Playgroud)
它们都是相同的值,因为它DateTime.Now.Ticks
没有改变,它播种的数字相同.
我想我可以生成一个新的随机种子,如果由于当前时间种子是相同的,但它不像一个诚实的"重新滚动"
我应该怎么做才能尝试复制接近真实/诚实的骰子卷?我应该使用RNGCryptoServiceProvider
该类来生成卷吗?
基本上我正在创建一个程序来随机生成6个独特的彩票号码,所以在同一行中没有重复,这是我到目前为止的代码...
//Generate 6 random numbers using the randomiser object
int randomNumber1 = random.Next(1, 49);
int randomNumber2 = random.Next(1, 49);
int randomNumber3 = random.Next(1, 49);
int randomNumber4 = random.Next(1, 49);
int randomNumber5 = random.Next(1, 49);
int randomNumber6 = random.Next(1, 49);
textBox1.Text = randomNumber1.ToString();
textBox2.Text = randomNumber2.ToString();
textBox3.Text = randomNumber3.ToString();
textBox4.Text = randomNumber4.ToString();
textBox5.Text = randomNumber5.ToString();
textBox6.Text = randomNumber6.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我得到随机数,但有时在同一行上有相同的数字,我如何使每个数字唯一????
提前致谢