无法为Rfc2898DeriveBytes指定4个参数(哈希算法名称)

时间:2018-11-08 02:59:43

标签: c# .net-core .net-standard

根据文档here,我应该能够使用自定义哈希算法(在我的情况下为SHA256)创建public function credentials(Request $request) { $credentials = $request->only($this->email(), 'password'); $credentials = array_add($credentials, 'status', '1'); return $credentials; }

Rfc2898DeriveBytes

我使用以下内容创建了一个.NET Standard 2.0类库:

public Rfc2898DeriveBytes (byte[] password, byte[] salt, int iterations, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);

我的班级

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

</Project>

我收到以下错误:

  

'Rfc2898DeriveBytes'不包含带有4个参数的构造函数

为什么不能将哈希算法添加到private static byte[] Pbkdf2(string data) { // ... using(var pbkdf2 = new Rfc2898DeriveBytes(null, null, 50000, HashAlgorithmName.SHA256)) { return pbkdf2.GetBytes(32); } } 的构造函数中?

1 个答案:

答案 0 :(得分:3)

您发布的链接用于.NET Framework,而不是.NET Standard。 .NET Standard is here的文档。在.NET Standard中,没有带有4个参数的构造函数。