5
我需要生成隨機唯一哈希以用於.Net Core中的密碼重置鏈接。在ASP.NET身份識別中,我發現這很有幫助,我想知道是否RNGCryptoServiceProvider仍然可以確保生成的哈希的隨機性。使用.NET Core生成哈希
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核心和使用哪些類?
作爲一個附註,'%26'意味着你的隨機數據不會有均勻的分佈,所以你的隨機生成器目前比其他人更喜歡一些字母。 – vcsjones
順便說一下,標記嚴格來說不是「散列」,因爲它只是一個隨機序列。 –