相关疑难解决方法(0)

RNGCryptoServiceProvider - 随机数查看

在寻找生成真正随机数的最佳尝试时,我偶然发现了这个代码示例.

在这个片段上寻找意见.

using System;
using System.Security.Cryptography;

private static int NextInt(int min, int max)
{
    RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
    byte[] buffer = new byte[4];

    rng.GetBytes(buffer);
    int result = BitConverter.ToInt32(buffer, 0);

    return new Random(result).Next(min, max);
}
Run Code Online (Sandbox Code Playgroud)

资料来源:http://www.vcskicks.com/code-snippet/rng-int.php

这比使用滴答计数种子更受欢迎,例如:

Random rand = new Random(Environment.TickCount); 
rand.Next(min, max);
Run Code Online (Sandbox Code Playgroud)

注意:

我不是在寻找第三方随机数据提供者,例如Random.org,因为这种依赖对应用程序来说是不现实的.

.net c# asp.net security random

26
推荐指数
3
解决办法
2万
查看次数

标签 统计

.net ×1

asp.net ×1

c# ×1

random ×1

security ×1