使用 .NET 的 RNGCryptoServiceProvider 生成随机数

1. [代码]一个简单的方法,但不够可靠     跳至 [1] [2] [全屏预览]

1
2
3
4
5
6
7
8
9
10
11
static void Main(string[] args)
{
    // code from DevCurry.com
    byte[] randomBytes = new byte[4];
    Random rando = new Random();
    rando.NextBytes(randomBytes);
    foreach (byte byteValue in randomBytes)
        Console.Write("{0, 4}", byteValue);
 
    Console.ReadLine();
}

2. [代码]可靠的方法     

1
2
3
4
5
6
7
8
9
10
11
12
13
14
static void Main(string[] args)
{
    // code from DevCurry.com
    byte[] randomBytes = new byte[4];
    RNGCryptoServiceProvider rngCrypto =
    new RNGCryptoServiceProvider();
 
    rngCrypto.GetBytes(randomBytes);
    Int32 rngNum = BitConverter.ToInt32(randomBytes, 0);
 
    Console.WriteLine(rngNum);
 
    Console.ReadLine();
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。