public static byte[] DecryptAes(this byte[] @this) { var data = @this.FastClone(); using (var aes = new RijndaelManaged()) { aes.Mode = CipherMode.CFB; aes.Padding = PaddingMode.None; aes.KeySize = 192; aes.BlockSize = 128; aes.GenerateKeys(data.Length); var blockSize = aes.BlockSize / 8; var needChange = data.Length % blockSize != 0; var diff = blockSize - data.Length % blockSize; if (needChange) { Array.Resize(ref data, data.Length + diff); } data = aes.Decrypt(data); if (needChange) { Array.Resize(ref data, data.Length - diff); } return(data); } }
public static byte[] EncryptAES(byte[] data) { using (var aes = new RijndaelManaged()) { aes.Mode = CipherMode.CFB; aes.Padding = PaddingMode.Zeros; aes.KeySize = 192; aes.BlockSize = 128; Array.Resize(ref data, data.Length + 16 - data.Length % 16); aes.GenerateKeys(data.Length); return(aes.Encrypt(data)); } }