"Length of the data to decrypt is invalid." exception during Rijndael decryption
I get "Length of the data to decrypt is invalid." exception when i try to decrypt a memory stream. I am beginner, cant figure out whats wrong. whats wrong?

    public bool EncryptStream()
        {

            string password = @"myKey123"; // Your Key Here
            UnicodeEncoding UE = new UnicodeEncoding();
            byte[] key = UE.GetBytes(password);

            s_EncryptedStream = new MemoryStream();
            int NoOfBytes;
            byte[] b_Buffer = new byte[8192];

            s_MemoryStream.Seek(0, SeekOrigin.Begin);

            RijndaelManaged RMCrypto = new RijndaelManaged();

            s_CrytpoStream = new CryptoStream(s_EncryptedStream,
                RMCrypto.CreateEncryptor(key, key),
                CryptoStreamMode.Write);

            while (s_MemoryStream.Length < s_MemoryStream.Position)
            {
                NoOfBytes = s_MemoryStream.Read(b_Buffer, 0, 8192);
                s_CrytpoStream.Write(b_Buffer, 0, NoOfBytes);
            }

            s_MemoryStream.Seek(0, SeekOrigin.Begin);

            while (s_EncryptedStream.Position < s_EncryptedStream.Length)
            {
                NoOfBytes = s_EncryptedStream.Read(b_Buffer, 0, 8192);
                s_MemoryStream.Write(b_Buffer, 0, NoOfBytes);

            }
            s_CrytpoStream.Flush();
            s_CrytpoStream.Close();

            return true;

        }


        public bool DecryptStream()
        {


            string password = @"myKey123"; // Your Key Here

            UnicodeEncoding UE = new UnicodeEncoding();
            byte[] key = UE.GetBytes(password);

            int NoOfBytes;
            byte[] b_Buffer = new byte[8192];

            s_DecryptedStream = new MemoryStream();


            RijndaelManaged RMCrypto = new RijndaelManaged();

            s_CrytpoStream = new CryptoStream(s_MemoryStream,
                RMCrypto.CreateDecryptor(key, key),
                CryptoStreamMode.Read);

            s_MemoryStream.Seek(0, SeekOrigin.Begin);

            while (s_MemoryStream.Length > s_MemoryStream.Position)
            {
                NoOfBytes = s_CrytpoStream.Read(b_Buffer, 0, 8192);
                s_DecryptedStream.Write(b_Buffer, 0, NoOfBytes);
            }

            s_DecryptedStream.Seek(0, SeekOrigin.Begin);
            s_MemoryStream.Seek(0, SeekOrigin.Begin);

            while (s_DecryptedStream.Position < s_DecryptedStream.Length)
            {
                NoOfBytes = s_DecryptedStream.Read(b_Buffer, 0, 8192);
                s_MemoryStream.Write(b_Buffer, 0, NoOfBytes);

            }

            s_CrytpoStream.Flush();
            s_CrytpoStream.Close();

            return true;

        }

 
"Length of the data to decrypt is invalid." exception during Rijndael decryption
===

I get "Length of the data to decrypt is invalid." exception when i try to decrypt a memory stream. I am beginner, cant figure out whats wrong. whats wrong?

    public bool EncryptStream()
        {

            string password = @"myKey123"; // Your Key Here
            UnicodeEncoding UE = new UnicodeEncoding();
            byte[] key = UE.GetBytes(password);

            s_EncryptedStream = new MemoryStream();
            int NoOfBytes;
            byte[] b_Buffer = new byte[8192];

            s_MemoryStream.Seek(0, SeekOrigin.Begin);

            RijndaelManaged RMCrypto = new RijndaelManaged();

            s_CrytpoStream = new CryptoStream(s_EncryptedStream,
                RMCrypto.CreateEncryptor(key, key),
                CryptoStreamMode.Write);

            while (s_MemoryStream.Length < s_MemoryStream.Position)
            {
                NoOfBytes = s_MemoryStream.Read(b_Buffer, 0, 8192);
                s_CrytpoStream.Write(b_Buffer, 0, NoOfBytes);
            }

            s_MemoryStream.Seek(0, SeekOrigin.Begin);

            while (s_EncryptedStream.Position < s_EncryptedStream.Length)
            {
                NoOfBytes = s_EncryptedStream.Read(b_Buffer, 0, 8192);
                s_MemoryStream.Write(b_Buffer, 0, NoOfBytes);

            }
            s_CrytpoStream.Flush();
            s_CrytpoStream.Close();

            return true;

        }


        public bool DecryptStream()
        {


            string password = @"myKey123"; // Your Key Here

            UnicodeEncoding UE = new UnicodeEncoding();
            byte[] key = UE.GetBytes(password);

            int NoOfBytes;
            byte[] b_Buffer = new byte[8192];

            s_DecryptedStream = new MemoryStream();


            RijndaelManaged RMCrypto = new RijndaelManaged();

            s_CrytpoStream = new CryptoStream(s_MemoryStream,
                RMCrypto.CreateDecryptor(key, key),
                CryptoStreamMode.Read);

            s_MemoryStream.Seek(0, SeekOrigin.Begin);

            while (s_MemoryStream.Length > s_MemoryStream.Position)
            {
                NoOfBytes = s_CrytpoStream.Read(b_Buffer, 0, 8192);
                s_DecryptedStream.Write(b_Buffer, 0, NoOfBytes);
            }

            s_DecryptedStream.Seek(0, SeekOrigin.Begin);
            s_MemoryStream.Seek(0, SeekOrigin.Begin);

            while (s_DecryptedStream.Position < s_DecryptedStream.Length)
            {
                NoOfBytes = s_DecryptedStream.Read(b_Buffer, 0, 8192);
                s_MemoryStream.Write(b_Buffer, 0, NoOfBytes);

            }

            s_CrytpoStream.Flush();
            s_CrytpoStream.Close();

            return true;

        }

 