Archivos binarios

Te quiero preguntar algo sobre archivos binarios en C,
lo que pasa es que conseguí un programa en internet para encriptar y
lo hace mediante archivos binarios, extrayendo los bytes
del archivo que se desea encriptar y mandándolos a un temporal,
y de esta manera el archivo original no puede ser accesado,
es decir, no se puede abrir o bien la información de este
aparece distorsionada hasta que éste se desencripta,
devolviendo los bytes al original desde el temporal,
bueno todo este rollo es lo que yo creo que se hace,
pero no estoy segura si el archivo original queda
inutilizable porque se le pasan los bytes al temporal,
¿Osea los bytes se copian o se traspasan?, bueno espero
que me puedas explicar algo sobre los archivos binarios
y espero no haberte confundido con todo el rollo que te puse.
Respuesta
1
El fichero que contiene los datos a encriptar pasara por los siguientes estados:
1. Sera accedido por el programa para lectura. En este momento puede ser accedido desde otro sitio si no esta bloqueado.
2. Después de que el programa ha calculado cual es el resultado del cifrado de ese contenido (y lo ha escrito en un temporal por ejemplo) escribirá en el fichero original este resultado (datos cifrados). En este momento no puedes acceder al fichero por que esta bloqueado por el programa que esta escribiendo en él.
3. El archivo original ahora contiene la misma información pero en este caso cifrada. El archivo se puede abrir pero la la información está cifrada y por lo tanto no se sabe que información contiene. Así conseguimos confidencialidad en los datos. Cualquier que obtenga este fichero no podrá vera su verdadera información, ya que esta está cifrada.
Para acceder a la información original debes descifrar el archivo. Pero solo puede descifrar el fichero quien tenga las claves con la que se cifró.
Hola disculpa la molestia otra vez, pero me podrías explicar lo que me dices sobre:
"2. Después de que el programa ha calculado cual es el resultado del cifrado de ese contenido (y lo ha escrito en un temporal por ejemplo) escribirá en el fichero original este resultado (datos cifrados). En este momento no puedes acceder al fichero por que esta bloqueado por el programa que esta escribiendo en él."
Es que no me queda muy clara esta parte, espero que no sea mucha molestia, muchas gracias de antemano otra vez
El programa que tu utilizas para cifrar archivos, una vez que ha leído la totalidad del contenido del fichero a cifrar realiza unas operaciones con los bytes que forman el contenido del fichero leído. Esas operaciones dan como resultado un conjunto de bytes que es el contenido del fichero cifrado.
Por ejemplo el contenido del archivo original es "HOLA" y después de realizar las operaciones de cifrado nos queda "MMIJHD4DGJKBNGJGCHNBH="
Ahora debemos reescribir el archivo original para que su contenido sea "MMIJHD4DGJKBNGJGCHNBH=". Para ello el programa abrirá el archivo en modo escritura lo que bloquea el archivo hasta que se termina de escribir, de modo que, solo ese programa podrá acceder al fichero.

2 respuestas más de otros expertos

Respuesta
1
La verdad es que me queda muy difícil respondértela
Pero en esta página te puedes bajar un manual que te habla de los archivos binarios:
www.lawebdelprogramador.com
Respuesta
1
Sobre archivos binarios en C, tengo algunos conocimientos, para guardar datos, pero no sabía que servían también para encriptar información. Por lo que me comentas, podría ser que los bytes se copian, pero no se traspasan. Aún así, (y ahora estoy cayendo en ello), te voy a preguntar algo: ¿Cómo has leído el archivo binario? Ten en cuenta que los archivos binarios no se pueden leer con procesadores de texto. Sólo se pueden leer mediante la función de C "fread" (creo yo). Bueno, si no has comprendido algo o tienes más dudas aquí estoy pa lo que quieras.
Fíjate que así le hace el programa con el fread y con todas esas operaciones que llevan f y la operación, pero cuando abro el archivo encriptado aparecen puros garabatos, hasta que se desencripta aparece ya el texto original

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas