Problemas Stream, Encoding

Iniciado por Keyen Night, 2 Mayo 2010, 18:14 PM

0 Miembros y 2 Visitantes están viendo este tema.

Keyen Night

Bueno tengo un problema que ya me tiene aturdido y no se le ve el prosible error, estoy haciendo un programa que cifra archivos (es solo para practicar Stream, FileStream, StreamReader y StreamWriter).

Código (vb.net) [Seleccionar]

       Dim x As New FileStream("C:\Ejecutable.exe", FileMode.Open)

       Dim y As New StreamReader(x, Encoding.Default)

       Dim z As New StreamWriter(New FileStream("C:\Ejecutable_Out.exe", FileMode.CreateNew), Encoding.Default)

       While Not y.EndOfStream

           z.WriteLine(EncryptByKey(y.ReadLine, "Ejemplo"))

       End While

       x.Close()
       y.Close()
       z.Close()

''''' LUEGO '''''

       Dim x As New FileStream("C:\Ejecutable_Out.exe", FileMode.Open)

       Dim y As New StreamReader(x, Encoding.Default)

       Dim z As New StreamWriter(New FileStream("C:\Ejecutable_Out2.exe", FileMode.CreateNew), Encoding.Default)

       While Not y.EndOfStream

           z.WriteLine(DencryptByKey(y.ReadLine, "Ejemplo"))

       End While

       x.Close()
       y.Close()
       z.Close()


Bueno entonces basicamente abre un archivo ejecutable y lo va leyendo mientras va guardando en otro archivo solo que pasado por EncriptByKey una funcion que usa llaves para cifrar Strings, en este caso la llave "Ejemplo", y luego abre el archivo que escribimos anteriormente y hace lo mismo solo que al contrario, todo transcurre bien, incluso abro los 2 archivos con Notepad++ y "parecen ser" exactamente iguales (el original y el que se cifro y descifro), pero al verles el peso el que se proceso es ligeramente más grande que el original y obviamente el que escribimos está corrupto, algún problema con los Stream o con el Encoding?, o tengo otra forma de leer los archivos binarios como los ejecutable, pero aún en texto plano?

Pd: Bueno tambien debo resaltar que el problema no viene de las funciones para cifrar ya que sin usar las funciones tambien el archivo sale igual más grande, corrupto pero aparemente igual.

Gracias.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

MANULOMM

pero cual es el problema?

Atentamente,

Juan Manuel Lombana
Microsoft Student Partner
Microsoft Certified Professional
Medellín - Colombia


Keyen Night

El archivo de salida es más grande que el original y debido a esto está corrupto, pero al abrirlo con Notepad++ es "aparentemente" igual.

Podria resumirse en que quiero usar Stream para escribir de un archivo a otro como si quisiera generar una copia de un archivo, pero no se porque el archivo final es más grande.
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...

MANULOMM

pues esto depende del algoritmo de cifrado, que les estas enviando y talez estes adicionando algunos caracteres o demas, de hecho creo que hasta el nombre del archivo varia el peso pues se afecta la metadata del exe.

Atentamente,

Juan Manuel Lombana
Microsoft Student Partner
Microsoft Certified Professional
Medellín - Colombia


Keyen Night

Estuve pensando en eso porque un archivo ejecutable es el tipo de archivo mas delicado que existe. Bueno le hecharé un vistaso al algoritmo nuevamente y investigare un poco más sobre metada, y les sigo contando...
La Fé Mueve Montañas...
                                    ...De Dinero

La programación es más que un trabajo es más que un hobby es una pasión...