SYSLIB0033: Rfc2898DeriveBytes.CryptDeriveKey is obsolete
The Rfc2898DeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) method is marked as obsolete, starting in .NET 6. Using this API in code generates warning SYSLIB0033
at compile time.
Workaround
Use PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) instead.
Suppress a warning
If you must use the obsolete APIs, you can suppress the warning in code or in your project file.
To suppress only a single violation, add preprocessor directives to your source file to disable and then re-enable the warning.
// Disable the warning.
#pragma warning disable SYSLIB0033
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0033
To suppress all the SYSLIB0033
warnings in your project, add a <NoWarn>
property to your project file.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0033</NoWarn>
</PropertyGroup>
</Project>
For more information, see Suppress warnings.