CreateEncryptor 方法针对不正确的反馈大小引发异常
AesCng 和 TripleDESCng 的 CreateEncryptor
和 CreateDecryptor
方法在对象实例与 Cipher Feedback (CFB) 模式的 CNG 持久(或已命名)密钥一起使用时,如果反馈大小不是 8 (CFB8) ,则会引发 CryptographicException。
旧行为
以前,这些类允许选择 CFB128 (AesCng
) 或 CFB64 (TripleDESCng
)。 但如果该密钥是一个持久密钥,则会总是像选择 CFB8 一样完成计算。
新行为
以下两个条件都满足时,CreateEncryptor
和 CreateDecryptor
方法会引发 CryptographicException:
- 选择 CFB128 或 CFB64 模式(即 SymmetricAlgorithm.FeedbackSize 设置为 128 或 64)。
- 该实例由持久密钥支持。
引入的版本
.NET 6
中断性变更的类型
此项更改可能会影响二进制兼容性。
更改原因
引入此更改是为了指示无法正确执行请求的工作。
建议操作
如果遇到此异常,请考虑从 CFB128 或 CFB64 切换到 CFB8。 使此切换生成的结果与以前版本中的行为兼容。