【C#】绝对随机数
2021-05-03 03:27
标签:instance mat with result private security tco size make System.Security.Cryptography.RNGCryptoServiceProvider -- 【C#】绝对随机数 标签:instance mat with result private security tco size make 原文地址:http://www.cnblogs.com/oiliu/p/7753096.html private static int Next(int numSeeds, int length)
{
// Create a byte array to hold the random value.
byte[] buffer = new byte[length];
// Create a new instance of the RNGCryptoServiceProvider.
System.Security.Cryptography.RNGCryptoServiceProvider Gen = new System.Security.Cryptography.RNGCryptoServiceProvider();
// Fill the array with a random value.
Gen.GetBytes(buffer);
// Convert the byte to an uint value to make the modulus operation easier.
uint randomResult = 0x0;//这里用uint作为生成的随机数
for (int i = 0; i )
{
randomResult |= ((uint)buffer[i] 1 - i) * 8));
}
// Return the random number mod the number
// of sides. The possible values are zero-based
return (int)(randomResult % numSeeds);
}
for (int i = 0; i 20; i++)
{
byte[] randomBytes = new byte[8];
System.Security.Cryptography.RNGCryptoServiceProvider rngServiceProvider = new System.Security.Cryptography.RNGCryptoServiceProvider();
rngServiceProvider.GetBytes(randomBytes);
int result = BitConverter.ToInt32(randomBytes, 0);
result = System.Math.Abs(result); //求绝对值
Console.WriteLine(result);
}
上一篇:常见dos命令(win7下测试)
下一篇:winfrom在图片上实现绘制