Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Standardwert für die SymmetricAlgorithm.FeedbackSize-Eigenschaft der von TripleDES zurückgegebenen TripleDES.Create()-Instanz wurde von 64 auf 8 geändert, um die Migration von .NET Framework zu vereinfachen. Diese Eigenschaft wird nur dann verwendet, wenn die Mode Eigenschaft CipherMode.CFB ist, es sei denn, sie wird direkt im Aufrufercode verwendet.
Die Unterstützung für den CFB Modus wurde zunächst für die Version 5.0 RC1 zu .NET hinzugefügt, sodass sich nur .NET 5 RC1- und .NET 5 RC2-Anwendungen auf diese Änderung auswirken sollten.
Änderungsbeschreibung
In .NET Core und früheren Vorabversionen von .NET 5 TripleDES.Create().FeedbackSize
ist der Standardwert 64. Ab der RTM-Version von .NET 5 TripleDES.Create().FeedbackSize
ist der Standardwert 8.
Grund für Änderung
In .NET Framework legt die TripleDES Basisklasse standardmäßig den Wert von FeedbackSize 64 fest, aber die TripleDESCryptoServiceProvider Klasse überschreibt die Standardeinstellung auf 8. Wenn die FeedbackSize Eigenschaft in .NET Core in Version 2.0 eingeführt wurde, wurde dieses Verhalten beibehalten. In .NET Framework gibt TripleDES.Create() jedoch eine Instanz von TripleDESCryptoServiceProvider zurück, sodass der Standardwert aus der Algorithmusfabrik 8 ist. Für .NET Core und .NET 5+ gibt die Algorithmusfactory eine nicht öffentliche Implementierung zurück, die bis jetzt einen Standardwert von 64 hatte.
Wenn der Wert der TripleDES Implementierungsklasse FeedbackSize auf 8 geändert wird, können Anwendungen, die für .NET Framework geschrieben wurden und den Verschlüsselungsmodus als CFB angegeben, die Eigenschaft jedoch nicht explizit FeedbackSize zugewiesen haben, unter .NET 5 weiterlaufen.
Eingeführte Version
5.0
Empfohlene Aktion
Anwendungen, die Daten in den RC1- oder RC2-Versionen von .NET 5 verschlüsseln oder entschlüsseln, tun dies mit CFB64, wenn die folgenden Bedingungen erfüllt sind:
- Eine TripleDES-Instanz von TripleDES.Create() ist vorhanden.
- Verwenden des Standardwerts für FeedbackSize.
- Wenn die Mode-Eigenschaft auf CipherMode.CFB gesetzt ist.
Um dieses Verhalten beizubehalten, weisen Sie die FeedbackSize Eigenschaft zu 64
.
Nicht alle TripleDES
Implementierungen verwenden denselben Standardwert für FeedbackSize. Wenn Sie den CFB Verschlüsselungsmodus für TripleDES Instanzen verwenden, sollten Sie den FeedbackSize Eigenschaftswert immer explizit zuweisen.
TripleDES cipher = TripleDES.Create();
cipher.Mode = CipherMode.CFB;
// Explicitly set the FeedbackSize for CFB to control between CFB8 and CFB64.
cipher.FeedbackSize = 8;