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

时间:2017-08-21 14:58:05

标签: c# encryption asp.net-core password-encryption

我在这种情况下登陆了!

我以前在 MVC 5 app 中使用此功能:

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()代替。但我无法找到任何解决方法!

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

记录错误#22626,不会被修复。

解决方法是:

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