This is driving me insane. Ive checked every sample and cant see anything happening differently. I'm sending the file over a network so the key and IV bytes are sent with the file to be used to decrypt, but every time it goes to decrypt i get "Padding is invalid and cannot be removed." Please give me at least a  clue someone.
Edit : I know I posted this under the wrong language, my bad. Its c# not c
here's my code:
	
							
						
					Edit : I know I posted this under the wrong language, my bad. Its c# not c
here's my code:
Code:
	 public class SymetricEncryption
    {
        public static int decryptBytes(byte[] boggledData, byte[] key, byte[] IV, out byte[] DecryptedBytes)
        {
            RijndaelManaged symmetricKey = new RijndaelManaged();
            symmetricKey.Mode = CipherMode.CBC;
            ICryptoTransform decryptor = symmetricKey.CreateDecryptor(key, IV);
            MemoryStream memoryStream = new MemoryStream(boggledData);
            CryptoStream cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read);
            DecryptedBytes = new byte[boggledData.Length];
            int read = cryptoStream.Read(DecryptedBytes, 0, boggledData.Length);
            memoryStream.Close();
            cryptoStream.Close();
            return read;
        }
        public static byte[] encryptBytes(byte[] Data, out byte[] key, out byte[] IV)
        {
            RijndaelManaged symmetricKey = new RijndaelManaged();
            symmetricKey.Mode = CipherMode.CBC;
            symmetricKey.GenerateKey();
            symmetricKey.GenerateIV();
            key = symmetricKey.Key;
            IV = symmetricKey.IV;
            ICryptoTransform encryptor = symmetricKey.CreateEncryptor(key, IV);
            MemoryStream memoryStream = new MemoryStream();
            CryptoStream cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write);
            byte[] encryptedBytes = new byte[Data.Length];
            cryptoStream.Write(Data, 0, Data.Length);
            cryptoStream.FlushFinalBlock();
            byte[] cipherBytes = memoryStream.ToArray();
            memoryStream.Close();
            cryptoStream.Close();
            return cipherBytes;
        }
Comment