我需要在.Net Core中生成随机唯一哈希,用于密码重置链接。在ASP.NET Identity中,我发现以下代码很有帮助,但我想知道 RNGCryptoServiceProvider 是否仍然保证所生成的哈希值的随机性。
using (RNGCryptoServiceProvider rngCsp = new RNGCryptoServiceProvider())
{
var data = new byte[4];
for (int i = 0; i < 10; i++)
{
//filled with an array of random numbers
rngCsp.GetBytes(data);
//this is converted into a character from A to Z
var randomchar = Convert.ToChar(
//produce a random number
//between 0 and 25
BitConverter.ToUInt32(data, 0) % 26
//Convert.ToInt32('A')==65
+ 65
);
token.Append(randomchar);
}
}
什么是使用 .NET Core 实现此目标的最佳方法?需要使用哪些类?