c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法

来源:互联网 发布:安卓修改分辨率软件 编辑:程序博客网 时间:2024/05/14 14:53

c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法

  int max = 100; //这样产生0 ~ 100的强随机数(含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);
  rnd = (int)(Math.Abs(BitConverter.ToInt64(rndSeries, 0)) / _base * (max+1));

  //不含100需去掉+1

原创粉丝点击