gpt4 book ai didi

security - 使用 .NET Core 生成哈希

转载 作者:行者123 更新时间:2023-12-02 22:07:51 26 4
gpt4 key购买 nike

我需要生成随机唯一哈希值,以便在 .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 和使用哪些类来实现这一目标的最佳方法是什么?

最佳答案

RNGCryptoServiceProvider 不在 .NET Core 中。使用 RandomNumberGenerator.Create() 获取可在正确平台上运行的 CSPRNG 实例。它的 API 与 RNGCryptoServiceProvider 相同,只是缺少 GetNonZeroBytes(我认为它根本不应该存在)。

在 Windows 上,这将归结为 CNG 中的 BCryptGenRandom,而在 Linux 上,它将使用 OpenSSL。

关于security - 使用 .NET Core 生成哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40309691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com