对于身份验证令牌,是否有针对C#3.0(.NET Framework 3.5)的加密安全伪随机数生成器(CSPRNG)的快速实现?
Joh*_*zen 106
using System.Security.Cryptography;
...
using(RandomNumberGenerator rng = new RNGCryptoServiceProvider())
{
byte[] tokenData = new byte[32];
rng.GetBytes(tokenData);
string token = Convert.ToBase64String(tokenData);
}
Run Code Online (Sandbox Code Playgroud)
Ser*_*.ID 15
.Net 6 中的Upd 2022已过时,建议RNGCryptoServiceProvider()使用静态方法RandomNumberGenerator
private string GetRandomlyGenerateBase64String(int count)
{
return Convert.ToBase64String(RandomNumberGenerator.GetBytes(count));
}
Run Code Online (Sandbox Code Playgroud)