Newsgroup: it.comp.lang.visual-basic
Titolo: [?2]Ci riprovo: problema lettura stream binari

Ri posto qui un mio vecchio post a cui non ho ricevuto risposta... spero che 
qualcuno possa aiutarmi:
***inzio post
Salve a tutti,
Ho un problema nella lettura "a pezzi" di uno stream binario...
Allora, faccio così:
Dim instream As New FileStream(inputFile, FileMode.Open, _
 FileAccess.Read, FileShare.None, 4096)
Dim outstream As New FileStream(outputFile, FileMode.Create)
Dim buffer(4095) As Byte 'Buffer di lettura
Do
Dim readbyte As Integer = instream.Read(buffer, 0, buffer.Length)
If readbyte = 0 Then Exit Do 'Se il file è finito esce dal ciclo
Dim encodedbyte() As Byte = Encode(buffer)
outstream.Write(encodedbyte, 0, encodedbyte.Length)
Loop
outstream.Flush()
instream.Flush()
Bene, questa funzione funziona perfettamente...
Però quando vado a decriptare:
Dim instream As New FileStream(inputFile, FileMode.Open, _
FileAccess.Read, FileShare.None, 4096)
Dim outstream As New FileStream(outputFile, FileMode.Create)
Dim buffer(4095) As Byte 'Buffer di lettura
Do
Dim readbyte As Integer = instream.Read(buffer, 0, 4096) 'Scrive nel buffer
If readbyte = 0 Then Exit Do 'Se il file è finito esce dal ciclo
Debug.Print(readbyte & " " & buffer.Length)
Debug.Print(inputFile & " " & outputFile)
Dim decodebyte() As Byte = Decode(buffer) 'Decodifica i dati
outstream.Write(decodebyte, 0, decodebyte.Length) 'Scrive nel file
Loop
outstream.Flush()
instream.Flush()
La funzione Decode lancia un eccezione (file compromesso, non riesce a
decriptare la matrice di byte).
Funzione Decode:
Public Function Decode(ByVal input() As Byte) As Byte()
Dim rjm As RijndaelManaged = New RijndaelManaged()
rjm.KeySize = 128
rjm.BlockSize = 128
rjm.Key = ASCIIEncoding.ASCII.GetBytes(m_key)
rjm.IV = ASCIIEncoding.ASCII.GetBytes(m_iv)
Try
Dim output() As Byte =  _
rjm.CreateDecryptor().TransformFinalBlock(input, 0, input.Length)
Return output
Catch e As Exception
ShowErrore(TypeOfErrore.Decriptazione)
End Try
End Function
Penso di aver capito più o meno il perche d questo fatto:
Quando si critta un file con rijndael le dimensioni aumentano :(
Ad es, per crittare un byte poi ne escono fuori 16.
Ma questo rapporto non è costante :(((((((((((((
Va da 0 a 1,5 ......
Che fare???
Grazie in anticipo,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS
"Un problema non è un problema se può essere risolto" 

 Bene, questa funzione funziona perfettamente...
perfettamente non mi sembra: cosa succede se leggi un file la cui
dimensione non e` un multiplo di 4 K?
-- 
ciao, hal

 dimensione non e` un multiplo di 4 K?
Non genera alcuna eccezione, ma ovviamente il file č inutilizzabile...
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS
"Un problema non č un problema se puņ essere risolto" 

Su......
Non mi abbandonate di nuovo :(
Bye,
-- 
Carmine ( 
pikachu...@gmail.com
 (Togli la scritta NOSPAM) )
Webmaster di The Total Site 4 : 
http://www.thetotalsite.it
MariokartDS Codice Amico: 532639027909 - CarmineC in MarioKartDS
