如何在C#中生成加密安全的伪随机数?
问题描述:
是否可以快速实施针对C#3.0的密码安全伪随机数生成器(CSPRNG) (.NET Framework 3.5),用于验证令牌?
Is there any fast implementation of cryptographically secure pseudorandom number generator (CSPRNG) for C# 3.0 (.NET Framework 3.5), for authentication tokens?
答
using System.Security.Cryptography;
...
using(RandomNumberGenerator rng = new RNGCryptoServiceProvider())
{
byte[] tokenData = new byte[32];
rng.GetBytes(tokenData);
string token = Convert.ToBase64String(tokenData);
}