title: "Padding is invalid and cannot be removed" -Whats wrong with this code?
body: <p>Every time I run this and encrypt, the output is variable, and when I attempt to decrypt
  I get "Padding is invalid and cannot be removed." Been fighting with this for a day or two now and I am at a loss.</p>
  
  <pre><code>    private static string strIV = "abcdefghijklmnmo"; //The initialization vector.
      private static string strKey = "abcdefghijklmnmoabcdefghijklmnmo"; //The key used to encrypt the text.
  
      public static string Decrypt(string TextToDecrypt)
      {
          return Decryptor(TextToDecrypt);
      }
  
      private static string Encryptor(string TextToEncrypt)
      {
          //Turn the plaintext into a byte array.
          byte[] PlainTextBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(TextToEncrypt);            
  
          //Setup the AES providor for our purposes.
          AesCryptoServiceProvider aesProvider = new AesCryptoServiceProvider();
          aesProvider.Key = System.Text.Encoding.ASCII.GetBytes(strKey);
          aesProvider.IV = System.Text.Encoding.ASCII.GetBytes(strIV);
          aesProvider.BlockSize = 128;
          aesProvider.KeySize = 256;            
          aesProvider.Padding = PaddingMode.PKCS7;
          aesProvider.Mode = CipherMode.CBC;
  
          ICryptoTransform cryptoTransform = aesProvider.CreateEncryptor(aesProvider.Key, aesProvider.IV);            
          byte[] EncryptedBytes = cryptoTransform.TransformFinalBlock(PlainTextBytes, 0, PlainTextBytes.Length);
          return Convert.ToBase64String(EncryptedBytes);                        
      }
  
      private static string Decryptor(string TextToDecrypt)
      {
          byte[] EncryptedBytes = Convert.FromBase64String(TextToDecrypt);
  
          //Setup the AES provider for decrypting.            
          AesCryptoServiceProvider aesProvider = new AesCryptoServiceProvider();
          aesProvider.Key = System.Text.Encoding.ASCII.GetBytes(strKey);
          aesProvider.IV = System.Text.Encoding.ASCII.GetBytes(strIV);
          aesProvider.BlockSize = 128;
          aesProvider.KeySize = 256;            
          aesProvider.Padding = PaddingMode.PKCS7;
          aesProvider.Mode = CipherMode.CBC;
  
          ICryptoTransform cryptoTransform = aesProvider.CreateDecryptor(aesProvider.Key, aesProvider.IV);
          byte[] DecryptedBytes = cryptoTransform.TransformFinalBlock(EncryptedBytes, 0, EncryptedBytes.Length);
          return System.Text.Encoding.ASCII.GetString(DecryptedBytes);
      }
  }
  </code></pre>