Aracılığıyla paylaş


TripleDES.Create tarafından oluşturulan örnekler için varsayılan FeedbackSize değeri değiştirildi

.NET Framework'ten TripleDES.Create() geçişi kolaylaştırmak içinSymmetricAlgorithm.FeedbackSize, döndürülen örnekteki TripleDES özelliğin varsayılan değeri 64'ten 8'e değiştirildi. Bu özellik, çağıran kodunda doğrudan kullanılmadığı sürece yalnızca özelliği olduğunda ModeCipherMode.CFBkullanılır.

Mod desteği CFB ilk olarak 5.0 RC1 sürümü için .NET'e eklendi, bu nedenle bu değişiklik yalnızca .NET 5 RC1 ve .NET 5 RC2 uygulamaları etkilenmelidir.

Açıklama değiştirildi

.NET Core'da ve .NET 5'in TripleDES.Create().FeedbackSize önceki yayın öncesi sürümlerinde varsayılan değer 64'tür. .NET 5'in RTM sürümünden başlayarak, TripleDES.Create().FeedbackSize varsayılan değer 8'tir.

Değişiklik nedeni

.NET Framework'te TripleDES temel sınıf değerini varsayılan olarak 64 olarak ayarlır FeedbackSize , ancak TripleDESCryptoServiceProvider sınıf varsayılan değerin üzerine 8 yazar. FeedbackSize Özellik sürüm 2.0'da .NET Core'a sunulduğunda, aynı davranış korunurdu. Bununla birlikte, .NET Framework'te TripleDES.Create() bir örneğini TripleDESCryptoServiceProviderdöndürür, bu nedenle algoritma fabrikasındaki varsayılan değer 8'dir. .NET Core ve .NET 5+ için algoritma fabrikası, şimdiye kadar varsayılan değeri 64 olan genel olmayan bir uygulama döndürür.

TripleDES Uygulama sınıfının FeedbackSize değerinin 8 olarak değiştirilmesi, .NET Framework için yazılan ve şifreleme modunu olarak CFB belirten ancak özelliği açıkça atamayan FeedbackSize uygulamaların .NET 5'te çalışmaya devam etmesini sağlar.

Sürüm kullanıma sunulmuştur

5.0

.NET 5'in RC1 veya RC2 sürümlerinde verileri şifreleyen veya şifresini çözen uygulamalar, aşağıdaki koşullar karşılandığında CFB64 ile bunu yapar:

Bu davranışı korumak için özelliğini öğesine 64atayınFeedbackSize.

Tüm TripleDES uygulamalar için FeedbackSizeaynı varsayılan değeri kullanmaz. Örneklerde TripleDES şifreleme modunu kullanıyorsanız CFB her zaman özellik değerini açıkça atamanız FeedbackSize önerilir.

TripleDES cipher = TripleDES.Create();
cipher.Mode = CipherMode.CFB;
// Explicitly set the FeedbackSize for CFB to control between CFB8 and CFB64.
cipher.FeedbackSize = 8;

Etkilenen API’ler