Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O valor padrão da propriedade SymmetricAlgorithm.FeedbackSize na instância TripleDES retornada por TripleDES.Create() foi alterado de 64 para 8 para facilitar a migração do .NET Framework. Essa propriedade, a menos que seja usada diretamente no código do chamador, é usada somente quando a Mode propriedade é CipherMode.CFB.
O suporte para o CFB modo foi adicionado primeiro ao .NET para a versão 5.0 RC1, portanto, somente os aplicativos .NET 5 RC1 e .NET 5 RC2 devem ser afetados por essa alteração.
Descrição da alteração
No .NET Core e nas versões anteriores de pré-lançamento do .NET 5, TripleDES.Create().FeedbackSize tem um valor padrão de 64. A partir da versão RTM do .NET 5, TripleDES.Create().FeedbackSize tem um valor padrão de 8.
Motivo da alteração
No .NET Framework, a TripleDES classe base usa como padrão o valor de FeedbackSize 64, mas a TripleDESCryptoServiceProvider classe substitui o padrão como 8. Quando a FeedbackSize propriedade foi introduzida ao .NET Core na versão 2.0, esse mesmo comportamento foi preservado. No entanto, no .NET Framework, TripleDES.Create() retorna uma instância de TripleDESCryptoServiceProvider, portanto, o valor padrão da fábrica de algoritmos é 8. Para .NET Core e .NET 5+, a fábrica de algoritmos retorna uma implementação não pública, que, até agora, tinha um valor padrão de 64.
A alteração do valor da TripleDES classe de implementação para 8 permite que os aplicativos escritos para o .NET Framework que especificaram o modo de criptografia como FeedbackSize, mas não atribuíram explicitamente a propriedade CFB, continuem a funcionar no .NET 5.
Versão introduzida
5,0
Ação recomendada
Aplicativos que criptografam ou descriptografam dados nas versões RC1 ou RC2 do .NET 5 fazem isso com CFB64, quando as seguintes condições são atendidas:
- Com uma instância TripleDES de TripleDES.Create().
- Usando o valor padrão para FeedbackSize.
- Com a Mode propriedade definida como CipherMode.CFB.
Para manter esse comportamento, atribua a FeedbackSize propriedade a 64.
Nem todas as TripleDES implementações usam o mesmo padrão para FeedbackSize. Recomendamos que, se você usar o modo de criptografia CFB em instâncias TripleDES, sempre atribua explicitamente o valor da propriedade FeedbackSize.
TripleDES cipher = TripleDES.Create();
cipher.Mode = CipherMode.CFB;
// Explicitly set the FeedbackSize for CFB to control between CFB8 and CFB64.
cipher.FeedbackSize = 8;