Aracılığıyla paylaş


SYSLIB0041: Bazı Rfc2898DeriveBytes oluşturucuları eski

Aşağıdaki Rfc2898DeriveBytes oluşturucular .NET 7'den başlayarak kullanımdan kaldırılmış durumdadır. Bunları kodda kullanmak, derleme zamanında uyarı SYSLIB0041 oluşturur.

Bu aşırı yüklemeler, karma algoritmayı veya yineleme sayısını varsayılan olarak aşırı yükler ve varsayılan değerler artık güvenli olarak kabul edilmez. Bu oluşturucuların tümü .NET 4.7.1 ve önceki sürümlerde kullanılabilir. Bundan sonra, yalnızca yeni oluşturucuları kullanmanız gerekir.

Geçici çözüm

Yineleme sayısını (varsayılan değer 1000' dir) ve karma algoritma adını (varsayılan değerdir HashAlgorithmName.SHA1) açıkça belirtebileceğiniz farklı bir oluşturucu aşırı yüklemesi kullanın.

Varsayılan yineleme sayısını veya varsayılan karma algoritmasını kullanıyorsanız daha güvenli değerlere (yani daha büyük bir yineleme sayısına veya daha yeni bir karma algoritmaya) geçmeyi göz önünde bulundurun.

Uyarıyı gizleme

Eski API'leri kullanmanız gerekiyorsa, uyarıyı kodda veya proje dosyanızda gizleyebilirsiniz.

Yalnızca tek bir ihlali engellemek için, önişlemci yönergelerini kaynak dosyanıza ekleyerek uyarıyı devre dışı bırakın ve sonra yeniden etkinleştirin.

// Disable the warning.
#pragma warning disable SYSLIB0041

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

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

Projenizdeki tüm SYSLIB0041 uyarıları engellemek için proje dosyanıza bir <NoWarn> özellik ekleyin.

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

Daha fazla bilgi için bkz . Uyarıları gizleme.