Nilai FeedbackSize default untuk instans yang dibuat oleh TripleDES.Create berubah
Nilai default untuk SymmetricAlgorithm.FeedbackSize properti pada instans yang TripleDES dikembalikan dari TripleDES.Create() telah berubah dari 64 menjadi 8 untuk membuat migrasi dari .NET Framework lebih mudah. Properti ini, kecuali digunakan langsung dalam kode pemanggil, hanya digunakan ketika Mode properti adalah CipherMode.CFB.
Dukungan untuk CFB mode pertama kali ditambahkan ke .NET untuk rilis 5.0 RC1, jadi hanya aplikasi .NET 5 RC1 dan .NET 5 RC2 yang harus terpengaruh oleh perubahan ini.
Deskripsi perubahan
Di .NET Core dan versi pra-rilis sebelumnya dari .NET 5, TripleDES.Create().FeedbackSize
memiliki nilai default 64. Mulai dari versi RTM .NET 5, TripleDES.Create().FeedbackSize
memiliki nilai default 8.
Alasan untuk berubah
Dalam .NET Framework, TripleDES kelas dasar default nilai FeedbackSize hingga 64, tetapi TripleDESCryptoServiceProvider kelas menimpa default ke 8. FeedbackSize Ketika properti diperkenalkan ke .NET Core di versi 2.0, perilaku yang sama ini dipertahankan. Namun, dalam .NET Framework, TripleDES.Create() mengembalikan instans TripleDESCryptoServiceProvider, sehingga nilai default dari pabrik algoritma adalah 8. Untuk .NET Core dan .NET 5+, pabrik algoritma mengembalikan implementasi non-publik, yang, hingga saat ini, memiliki nilai default 64.
Mengubah TripleDES nilai kelas FeedbackSize implementasi menjadi 8 memungkinkan aplikasi yang ditulis untuk .NET Framework yang menentukan mode cipher sebagai CFB tetapi tidak secara eksplisit menetapkan FeedbackSize properti, untuk terus berfungsi pada .NET 5.
Versi yang diperkenalkan
5.0
Tindakan yang direkomendasikan
Aplikasi yang mengenkripsi atau mendekripsi data dalam versi RC1 atau RC2 .NET 5 melakukannya dengan CFB64, ketika kondisi berikut terpenuhi:
- TripleDES Dengan instans dari TripleDES.Create().
- Menggunakan nilai default untuk FeedbackSize.
- Dengan properti diatur Mode ke CipherMode.CFB.
Untuk mempertahankan perilaku ini, tetapkan FeedbackSize properti ke 64
.
Tidak semua TripleDES
implementasi menggunakan default yang sama untuk FeedbackSize. Kami menyarankan agar jika Anda menggunakan CFB mode cipher pada TripleDES instans, Anda harus selalu secara eksplisit menetapkan FeedbackSize nilai properti.
TripleDES cipher = TripleDES.Create();
cipher.Mode = CipherMode.CFB;
// Explicitly set the FeedbackSize for CFB to control between CFB8 and CFB64.
cipher.FeedbackSize = 8;
API yang Terpengaruh
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk