关于加密:如何在C#中生成加密安全的伪随机数?

How can I generate a cryptographically secure pseudorandom number in C#?

对于认证令牌,是否有针对C_3.0(.NET Framework 3.5)的加密安全伪随机数生成器(CSPRNG)的快速实现?


1
2
3
4
5
6
7
8
9
using System.Security.Cryptography;
...
using(RandomNumberGenerator rng = new RNGCryptoServiceProvider())
{
    byte[] tokenData = new byte[32];
    rng.GetBytes(tokenData);

    string token = Convert.ToBase64String(tokenData);
}


嗯,这取决于你的均按市房……

真的有没有固定的随机发生器的安全。如果你想要,你应该使用"类正则随机。如果你想要的时候你应该使用"随机发生器的cryptography命名空间,但这是slower明显。你不能简单的都有。


《rngcryptoserviceprovider舱