在VS Community 2015 ver。中无法识别System.Security.Cryptography.KeyDerivation。 14.0.2

时间:2016-04-01 01:13:49

标签: c# asp.net-mvc hashcode visual-studio-2015

对于我的生活,我无法获得Cryptography.KeyDerivation在模板中被识别的ASP.NET MVC应用程序没有任何改变。我环顾四周并展示了一些

使用Microsoft.AspNetCore.Cryptography.KeyDerivation;

-OR -

使用Microsoft.AspNet.Cryptography.KeyDerivation;

- 但偶数 -

使用System.Security.Cryptography.KeyDerivation;未列出@

https://msdn.microsoft.com/en-us/library/system.security.cryptography%28v=vs.110%29.aspx

我想把我在网上找到的代码覆盖使用HMACSHA1并使用HMACSHA526的默认版本的PasswordHasher:

string hashed = Convert.ToBase64String(KeyDerivation.Pbkdf2(
        password: password,
        salt: salt,
        prf: KeyDerivationPrf.HMACSHA1,
        iterationCount: 10000,
        numBytesRequested: 256 / 8)); 

并使用HMACSHA512的prf来覆盖PasswordHasher的基类,它只有一个带有要传入密码的构造函数。

最后一个问题,一旦完成而不是单独的覆盖类,我不能只将代码粘贴在ApplicationUserManager中吗?

public ApplicationUserManager(IUserStore<ApplicationUser> store) : base(store) 
{
    //code here
}

1 个答案:

答案 0 :(得分:0)

System.Security.Cryptography.Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(input, salt, 10000);
string hashed = Convert.ToBase64String(rfc2898DeriveBytes.GetBytes(256 / 8));

对我来说,工作葡萄酒。如果仅使用KeyDerivationPrf.HMACSHA1。