>CryptoStream myCryptoStream = new CryptoStream(myMemoryStream,cryptoKey.CreateDecryptor(), CryptoStreamMode.Read);
>
>>string myPlainText = myStreamReader.ReadToEnd();
>
>> private void WriteUserLogon() > { > //create a store stream > IsolatedStorageFile myStorage = IsolatedStorageFile.GetUserStoreForAssembly(); > IsolatedStorageFileStream userStream = new IsolatedStorageFileStream("Logon.dat", System.IO.FileMode.OpenOrCreate); > > String userPassword_Encrypted = Cryptography.EncryptString(txtPassword.Text); > StreamWriter userLogonStream = new StreamWriter(userStream); > userLogonStream.WriteLine("<UserName>" + txtUserName.Text + "</UserName>"); > userLogonStream.WriteLine("<Password>" + userPassword_Encrypted + "</Password>"); > userLogonStream.Close(); > userStream.Close(); > myStorage.Close(); > > private void ReadUserLogon() > { > //create a store stream > IsolatedStorageFile myStorage = IsolatedStorageFile.GetUserStoreForAssembly(); > IsolatedStorageFileStream userStream = new IsolatedStorageFileStream("Logon.dat", System.IO.FileMode.OpenOrCreate); > > StreamReader userLogonStream = new StreamReader(userStream); > String logonData = userLogonStream.ReadToEnd(); > userLogonStream.Close(); > userStream.Close(); > myStorage.Close(); > > if(logonData.IndexOf("UserName")>0) > { > int startPos = logonData.IndexOf("<UserName>")+10; > int endPos = logonData.IndexOf("</UserName>"); > String userName = logonData.Substring(startPos , endPos-startPos); > > txtUserName.Text = userName; > } > > if (logonData.IndexOf("Password") > 0) > { > int startPos = logonData.IndexOf("<Password>") + 10; > int endPos = logonData.IndexOf("</Password>"); > String userPassword_Encrypted = logonData.Substring(startPos, endPos - startPos); > String userPassword = Cryptography.DecryptString(userPassword_Encrypted); > txtPassword.Text = userPassword; > } > > } > >public static byte[] Encrypt(string myPlainText) > { > MemoryStream myMemoryStream = new MemoryStream(); > DESCryptoServiceProvider cryptoKey = new DESCryptoServiceProvider(); > CryptoStream myCryptoStream = new CryptoStream(myMemoryStream, cryptoKey.CreateEncryptor(), CryptoStreamMode.Write); > StreamWriter myStreamWriter = new StreamWriter(myCryptoStream); > myStreamWriter.WriteLine(myPlainText); > myStreamWriter.Close(); > myCryptoStream.Close(); > byte[] myBuffer = myMemoryStream.ToArray(); > myMemoryStream.Close(); > return myBuffer; > > } > public static string Decrypt(byte[] myCryptoText) > { > MemoryStream myMemoryStream = new MemoryStream(myCryptoText); > DESCryptoServiceProvider cryptoKey = new DESCryptoServiceProvider(); > CryptoStream myCryptoStream = new CryptoStream(myMemoryStream, cryptoKey.CreateDecryptor(), CryptoStreamMode.Read); > > StreamReader myStreamReader = new StreamReader(myCryptoStream); > >//Next Line Fails > string myPlainText = myStreamReader.ReadToEnd(); > > myStreamReader.Close(); > myCryptoStream.Close(); > myMemoryStream.Close(); > return myPlainText; > > } > >Maybe haven't looked closely enough but I think you either have to use the same instance of CryptoStream for encrypting and decrypting or pass the same key value as a CreateDecryptor() parameter in both constructors. If that needs clarifying please let me know..