Encryption 为什么AesManaged.FeedbackSize=128时AesManaged.FeedbackSizeValue=8
我希望显式地设置加密参数(从.NET4.7默认值中读取),以避免以后框架版本实现不同默认值时出现解密困难 为什么手动设置反馈大小后,反馈大小值不变Encryption 为什么AesManaged.FeedbackSize=128时AesManaged.FeedbackSizeValue=8,encryption,aes,rijndaelmanaged,.net-4.7,Encryption,Aes,Rijndaelmanaged,.net 4.7,我希望显式地设置加密参数(从.NET4.7默认值中读取),以避免以后框架版本实现不同默认值时出现解密困难 为什么手动设置反馈大小后,反馈大小值不变 AesManaged aes = new AesManaged(); aes.Mode = CipherMode.CBC; aes.KeySize = 256; aes.Padding = PaddingMode.PKCS7; aes.BlockSize = 128; aes.FeedbackSize = aes.BlockSize; 这是aes对
AesManaged aes = new AesManaged();
aes.Mode = CipherMode.CBC;
aes.KeySize = 256;
aes.Padding = PaddingMode.PKCS7;
aes.BlockSize = 128;
aes.FeedbackSize = aes.BlockSize;
这是aes对象,请参见反馈值8
- aes {System.Security.Cryptography.AesManaged} System.Security.Cryptography.AesManaged
- aes {System.Security.Cryptography.AesManaged} System.Security.Cryptography.AesManaged
BlockSize 128 int
BlockSizeValue 128 int
FeedbackSize 128 int
FeedbackSizeValue 8 int
+ IV {byte[16]} byte[]
IVValue null byte[]
+ Key {byte[32]} byte[]
KeySize 256 int
KeySizeValue 256 int
KeyValue null byte[]
+ LegalBlockSizes {System.Security.Cryptography.KeySizes[1]} System.Security.Cryptography.KeySizes[]
+ LegalBlockSizesValue {System.Security.Cryptography.KeySizes[1]} System.Security.Cryptography.KeySizes[]
+ LegalKeySizes {System.Security.Cryptography.KeySizes[1]} System.Security.Cryptography.KeySizes[]
+ LegalKeySizesValue {System.Security.Cryptography.KeySizes[1]} System.Security.Cryptography.KeySizes[]
Mode CBC System.Security.Cryptography.CipherMode
ModeValue CBC System.Security.Cryptography.CipherMode
Padding PKCS7 System.Security.Cryptography.PaddingMode
PaddingValue PKCS7 System.Security.Cryptography.PaddingMode
+ m_rijndael {System.Security.Cryptography.RijndaelManaged} System.Security.Cryptography.RijndaelManaged
+ Static members
CBC模式没有反馈大小。见: 维基百科图片 此外,无需指定块大小(
aes.BlockSize=128;
),aes只有一个块大小。Rijndael确实支持多种块大小,因此有必要将128位的块大小指定为AES。虽然许多Rijndael实现默认为128位的块大小,但最好完全指定参数