c#.net利用RNGCryptoServiceProvider产生任意范围(int32)强随机数的办法
2009-12-05 17:11
357 查看
c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法
//这样产生0 ~ 100的强随机数(含100)int max = 100;
int rnd = int.MinValue;
decimal _base = (decimal)long.MaxValue;
byte[] rndSeries = new byte[8];
System.Security.Cryptography.RNGCryptoServiceProvider rng
= new System.Security.Cryptography.RNGCryptoServiceProvider();
rng.GetBytes(rndSeries);
//不含100需去掉+1
rnd = (int)(Math.Abs(BitConverter.ToInt64(rndSeries, 0)) / _base * (max+1));
//这个rnd就是你要的随机数,
//但是要注意别扔到循环里去,实例化RNG对象可是很消耗资源的
相关文章推荐
- c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法
- c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法
- 转: c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法
- 生成RNGCryptoServiceProvider随机数和随机gb2312一级中文(根据网上的修改)
- (转)使用 .NET 的 RNGCryptoServiceProvider 生成随机数
- 集合的三种遍历方式/集合的嵌套/产生任意范围内的随机数
- C++随机产生任意类型某个区间范围的随机数
- java产生任意范围内不重复的随机数
- c/c++ vc产生任意范围内的随机数
- C/C++怎样产生任意指定范围的随机数?
- c# sqlite 数据库加密2010-05-29 10:55用了ADO.NET 2.0 SQLite Data Provider 这样可以直接利用它来创建一个加密的sqlite数据库。
- 【Java】利用Collections类下的shuffle洗牌方法改进在一定的范围内产生不重复的随机数
- C/C++怎样产生任意指定范围的随机数?
- C++怎样产生任意指定范围的随机数
- 强加密RNGCryptoServiceProvider
- C/C++怎样产生任意指定范围的随机数?
- [linux]:linux shell编程之产生真随机数(利用时间轴的办法)
- 【转】亂數產生器:Random 與 RNGCryptoServiceProvider
- C#作业:利用Random类产生10个[10,99]之间的随机数,并将这10个随机数在列表框中显示出来,每个数占一项。用户选择某项后,在右边标签中显示所选内容
- C#--利用Random类产生10个[10,99]之间的随机数,并将这10个随机数在列表框中显示出来,每个数占一项。用户选择某项后,在右边标签中显示所选内容