With FlushFinalBlock I still get garbage.  I tried FlushFinalBlock and
Flush.

Any other ideas?
Paul Ballard
[EMAIL PROTECTED]


>From: Joseph E Shook <[EMAIL PROTECTED]>
>Reply-To: "Moderated discussion of advanced .NET topics."
><[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: [ADVANCED-DOTNET] Encryption and Decryption using MemoryStream
>Date: Tue, 11 Jun 2002 09:09:43 -0700
>
>Try adding a encStream.FlushFinalBlock() just before the close() method.
>
>-----Original Message-----
>From: Moderated discussion of advanced .NET topics.
>[mailto:[EMAIL PROTECTED]] On Behalf Of Paul Ballard
>Sent: Tuesday, June 11, 2002 7:48 AM
>To: [EMAIL PROTECTED]
>Subject: [ADVANCED-DOTNET] Encryption and Decryption using MemoryStream
>
>I am trying to do a quick encryption/decryption on strings.  All of the
>examples I've seen involve encrypting whole files using FileStream.  I
>have
>been attempting to simulate that functionality using MemoryStream.
>However,
>if I use an exact copy of the MemoryStream that I have encrypted as the
>source stream for decryption, the result is  garbage.
>
>Is there a difference in the implementation of MemoryStream compared to
>FileStream that would cause this, or is there something that you can see
>in
>the following code snippet that I am doing wrong? (Always a possibility
>:-))
>
>     Dim memStr As New System.IO.MemoryStream()
>     Private Function Encrypt(ByVal input As String) As String
>         Dim bin As Byte() = New UnicodeEncoding().GetBytes(input)
>         Dim des As New DESCryptoServiceProvider()
>         Dim encStream As New CryptoStream(memStr,
>des.CreateEncryptor(Key,
>IV), CryptoStreamMode.Write)
>         encStream.Write(bin, 0, bin.Length)
>         encStream.Close()
>         Return BitConverter.ToString(memStr.ToArray())
>     End Function
>
>     Private Function Decrypt(ByVal input As String)
>         'Make a new copy of the encrypted memory stream
>         Dim memStr2 As New System.IO.MemoryStream(memStr.ToArray())
>         Dim des2 As New DESCryptoServiceProvider()
>         Dim encStream2 As New CryptoStream(memStr2,
>des2.CreateDecryptor(Key, IV), CryptoStreamMode.Read)
>         Dim strRdr As New StreamReader(encStream2, True)
>         Dim retStr As String = strRdr.ReadToEnd()
>         encStream2.Close()
>         Return retStr
>     End Function
>
>Thanks for the help,
>Paul Ballard
>[EMAIL PROTECTED]
>
>
>_________________________________________________________________
>MSN Photos is the easiest way to share and print your photos:
>http://photos.msn.com/support/worldwide.aspx
>
>You can read messages from the Advanced DOTNET archive, unsubscribe from
>Advanced DOTNET, or
>subscribe to other DevelopMentor lists at http://discuss.develop.com.
>
>You can read messages from the Advanced DOTNET archive, unsubscribe from
>Advanced DOTNET, or
>subscribe to other DevelopMentor lists at http://discuss.develop.com.


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp.

You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced 
DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.

Reply via email to