'HashAlgorithm' 不包含 'Create' 的定义

'HashAlgorithm' does not contain a definition for 'Create'

我遇到了这种情况!

我曾经在我的 MVC 5 应用程序中使用过这个函数:

public virtual string CreateHash(byte[] data, string hashAlgorithm = "SHA1")    
{
    if (String.IsNullOrEmpty(hashAlgorithm))
       hashAlgorithm = "SHA1";

    var algorithm = HashAlgorithm.Create(hashAlgorithm);


    var hashByteArray = algorithm.ComputeHash(data);
       return BitConverter.ToString(hashByteArray).Replace("-", "");
}

现在我正在 ASP.NET Core 中创建一个应用程序。 我发现了错误

还有 RNGCryptoServiceProvider() 功能,也有同样的问题。但我改用 RandomNumberGenerator() 。但我找不到任何解决方法!

非常感谢任何帮助。

已记录的错误 #22626,将不会修复。

解决方法是:

public static HashAlgorithm Create(String hashAlgorithm) {
    return (HashAlgorithm) CryptoConfig.CreateFromName(hashAlgorithm);
}