SYSLIB0021: Jenis kriptografi turunan sudah usang
Jenis kriptografi turunan berikut ditandai sebagai usang, mulai dari .NET 6. Menggunakannya dalam kode menghasilkan peringatan SYSLIB0021
pada waktu kompilasi.
- System.Security.Cryptography.AesCryptoServiceProvider
- System.Security.Cryptography.AesManaged
- System.Security.Cryptography.DESCryptoServiceProvider
- System.Security.Cryptography.MD5CryptoServiceProvider
- System.Security.Cryptography.RC2CryptoServiceProvider
- System.Security.Cryptography.SHA1CryptoServiceProvider
- System.Security.Cryptography.SHA1Managed
- System.Security.Cryptography.SHA256Managed
- System.Security.Cryptography.SHA256CryptoServiceProvider
- System.Security.Cryptography.SHA384Managed
- System.Security.Cryptography.SHA384CryptoServiceProvider
- System.Security.Cryptography.SHA512Managed
- System.Security.Cryptography.SHA512CryptoServiceProvider
- System.Security.Cryptography.TripleDESCryptoServiceProvider
Penyelesaian masalah
sebagai gantinya, gunakan metode Create
pada jenis dasar. Misalnya, gunakan TripleDES.Create, bukan TripleDESCryptoServiceProvider.
Menyembunyikan peringatan
Jika Anda harus menggunakan API usang, Anda dapat menekan peringatan dalam kode atau dalam file proyek Anda.
Untuk menekan hanya satu pelanggaran, tambahkan direktif praprosedur ke file sumber Anda untuk menonaktifkan lalu mengaktifkan kembali peringatan.
// Disable the warning.
#pragma warning disable SYSLIB0021
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0021
Untuk menekan semua SYSLIB0021
peringatan dalam proyek Anda, tambahkan <NoWarn>
properti ke file proyek Anda.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0021</NoWarn>
</PropertyGroup>
</Project>
Untuk informasi selengkapnya, lihat Menyembunyikan peringatan.