Partager via


Valeur FeedbackSize par défaut pour les instances créées par TripleDES.Create modifiée

La valeur par défaut de la propriété SymmetricAlgorithm.FeedbackSize de l'instance TripleDES retournée par TripleDES.Create() a changé de 64 à 8 pour faciliter la migration depuis .NET Framework. Cette propriété, sauf si elle est utilisée directement dans le code de l’appelant, n’est utilisée que lorsque la Mode propriété est CipherMode.CFB.

La prise en charge du CFB mode a d’abord été ajoutée à .NET pour la version 5.0 RC1. Par conséquent, seules les applications .NET 5 RC1 et .NET 5 RC2 doivent être affectées par cette modification.

Description de la modification

Dans .NET Core et les versions antérieures de .NET 5, TripleDES.Create().FeedbackSize la valeur par défaut est 64. À compter de la version RTM de .NET 5, TripleDES.Create().FeedbackSize a la valeur par défaut 8.

Raison de la modification

Dans .NET Framework, la TripleDES classe de FeedbackSize base prend par défaut la valeur 64, mais la TripleDESCryptoServiceProvider classe remplace la valeur par défaut par 8. Lorsque la FeedbackSize propriété a été introduite dans .NET Core dans la version 2.0, ce même comportement a été conservé. Toutefois, dans .NET Framework, TripleDES.Create() retourne une instance de TripleDESCryptoServiceProvider, de sorte que la valeur par défaut de la fabrique d’algorithme est 8. Pour .NET Core et .NET 5+, la fabrique d’algorithmes retourne une implémentation non publique, qui, jusqu’à présent, avait une valeur par défaut de 64.

La modification de la valeur de la TripleDES classe d’implémentation FeedbackSize sur 8 permet aux applications écrites pour .NET Framework qui ont spécifié le mode de chiffrement comme CFB mais n’ont pas explicitement affecté la FeedbackSize propriété, de continuer à fonctionner sur .NET 5.

Version introduite

5,0

Les applications qui chiffrent ou déchiffrent des données dans les versions RC1 ou RC2 de .NET 5 le font avec CFB64, lorsque les conditions suivantes sont remplies :

Pour maintenir ce comportement, affectez la FeedbackSize propriété à 64.

Toutes les TripleDES implémentations n’utilisent pas la même valeur par défaut pour FeedbackSize. Nous recommandons que si vous utilisez le mode de chiffrement CFB sur les instances TripleDES, vous affectiez toujours explicitement la valeur de la propriété FeedbackSize.

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

API affectées