Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Standardvärdet för SymmetricAlgorithm.FeedbackSize egenskapen på instansen av TripleDES som returneras från TripleDES.Create() har ändrats från 64 till 8 för att förenkla migreringen från .NET Framework. Den här egenskapen, om den inte används direkt i anroparkoden, används endast när egenskapen Mode är CipherMode.CFB.
Stöd för CFB läget lades först till i .NET för 5.0 RC1-versionen, så endast .NET 5 RC1- och .NET 5 RC2-program bör påverkas av den här ändringen.
Ändra beskrivning
I .NET Core och tidigare förhandsversioner av .NET 5 TripleDES.Create().FeedbackSize har standardvärdet 64. Från och med RTM-versionen av .NET 5 TripleDES.Create().FeedbackSize har standardvärdet 8.
Orsak till ändring
I .NET Framework har TripleDES-basklassen standardvärdet FeedbackSize 64, men TripleDESCryptoServiceProvider-klassen skriver över standardvärdet till 8. När egenskapen FeedbackSize introducerades för .NET Core i version 2.0 bevarades samma beteende. I .NET Framework TripleDES.Create() returnerar dock en instans av TripleDESCryptoServiceProvider, så standardvärdet från algoritmfabriken är 8. För .NET Core och .NET 5+ returnerar algoritmfabriken en icke-offentlig implementering, som hittills har ett standardvärde på 64.
Om implementeringsklassens TripleDES värde ändras till 8 kan program som skrivits för .NET Framework, som angett chifferläget som FeedbackSize, men inte uttryckligen tilldelat egenskapen CFB, fortsätta att fungera på .NET 5.
Version lanserad
5,0
Rekommenderad åtgärd
Program som krypterar eller dekrypterar data i RC1- eller RC2-versionerna av .NET 5 gör det med CFB64 när följande villkor uppfylls:
- Med en TripleDES instans från TripleDES.Create().
- Använd standardvärdet för FeedbackSize.
- Med egenskapen inställd till ModeCipherMode.CFB.
Om du vill behålla det här beteendet tilldelar du FeedbackSize egenskapen till 64.
TripleDES Alla implementeringar använder inte samma standard för FeedbackSize. Vi rekommenderar att om du använder chifferläget CFB på TripleDES instanser, bör du alltid uttryckligen tilldela FeedbackSize egenskapsvärdet.
TripleDES cipher = TripleDES.Create();
cipher.Mode = CipherMode.CFB;
// Explicitly set the FeedbackSize for CFB to control between CFB8 and CFB64.
cipher.FeedbackSize = 8;