A serval times of fighting, I finally solved the problem.
(Note: I use standard AES as symmetric algorithm. This answer may not suitable
for everyone.)
- Change the algorithm class. Replace the
RijndaelManaged
class to AESManaged
one.
- Do not explicit set the
KeySize
of algorithm class, left them default.
(This is the very important step. I think there is a bug in KeySize property.)
Here is a list you want to check which argument you might have missed:
- Key
(byte array, length must be exactly one of 16, 24, 32 byte for different key size.)
- IV
(byte array, 16 bytes)
- CipherMode
(One of CBC, CFB, CTS, ECB, OFB)
- PaddingMode
(One of ANSIX923, ISO10126, None, PKCS7, Zeros)