SYSLIB0041: Néhány Rfc2898DeriveBytes konstruktor elavult

A következő Rfc2898DeriveBytes konstruktorok elavultak, a .NET 7-től kezdve. A kódban való használat figyelmeztetést SYSLIB0041 generál fordításkor.

Ezek a túlterhelések alapértelmezettként kezelik a kivonatoló algoritmust vagy az iterációk számát, és az alapértelmezett értékek már nem tekinthetők biztonságosnak. Ezek mind azok a konstruktorok, amelyek a .NET 4.7.1-ben és a korábbi verziókban voltak elérhetők. A továbbiakban csak az újabb konstruktorokat érdemes használni.

Áthidaló megoldás

Használjon másik konstruktor-túlterhelést, ahol explicit módon megadhatja az iterációk számát (az alapértelmezett érték 1000) és a kivonatoló algoritmus nevét (az alapértelmezett érték HashAlgorithmName.SHA1).

Ha az alapértelmezett iterációs szám vagy az alapértelmezett kivonatoló algoritmust használja, fontolja meg a biztonságosabb értékekre való áttérést, vagyis a nagyobb iterációk számát vagy egy újabb kivonatoló algoritmust.

Figyelmeztetés mellőzése

Ha az elavult API-kat kell használnia, letilthatja a figyelmeztetést a kódban vagy a projektfájlban.

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz, hogy letiltsa, majd engedélyezze újra a figyelmeztetést.

// Disable the warning.
#pragma warning disable SYSLIB0041

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0041

Ha el szeretné tiltani a SYSLIB0041 projekt összes figyelmeztetését, adjon hozzá egy tulajdonságot <NoWarn> a projektfájlhoz.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0041</NoWarn>
  </PropertyGroup>
</Project>

További információ: Figyelmeztetések mellőzése.