PDA

Ver la Versión Completa : ocultar graficos


gabyzava
12-08-2011, 19:05:22
Hola a todos

Quiero saber como ocultar archivos de mi programa.

tengo archivos de imagenes que no quiero que vea el usuario desde el explorador o que pueda modificarlos.

¿Cómo ocultarlos?

gracias

ecfisa
12-08-2011, 19:27:39
Hola gabyzava.

Si estás usando Windows... como solución segura se me ocurren dos cosas: Comprimir los archivos con contraseña ya sea con WinZip o WinRar, o buscarte algún cifrador de archivos o carpetas free en la web.

Un saludo.

gabyzava
12-08-2011, 19:36:24
Hola

gracias po responder

Las imagenes que deseo ocultar las utiliza el programa, por
lo tanto supongo que comprimir no sera conveniente.
voy a ver lo del cifrador

gracias

ecfisa
14-08-2011, 11:32:30
Hola gabyzava.

Si no estás buscando un cifrador de alto vuelo quizá esto te pueda servir:

procedure CifrarArchivo(Archivo: string; Key: Word);
var
MSOrigen,MSDestino: TMemoryStream;
i: Integer;
x: byte;
begin
MSOrigen := TMemoryStream.Create;
MSDestino := TMemoryStream.Create;
try
MSOrigen.LoadFromFile(Archivo) ;
MSOrigen.Position := 0;
for i:= 0 to MSOrigen.Size - 1 do
begin
MSOrigen.Read(x, 1) ;
x:= (x xor not (ord(Key shr i))) ;
MSDestino.Write(x, 1) ;
end;
MSDestino.SaveToFile(Archivo) ;
finally
MSOrigen.Free;
MSDestino.Free;
end;
end;


Ejemplo de uso:

CifrarArchivo('C:\IMAGEN.JPG', 217);


Un saludo.

casacham
15-08-2011, 07:43:15
HOLA ecfisa, gracias por tu aporte. Como hago para recuperar el archivo luego que esta cifrado?. Falto poner la otra parte de la solucion?

ecfisa
15-08-2011, 12:20:15
Hola casacham.

Solamente es necesario llamar al proceso cifrador con el mismo número enviado en el argumento Key sobre el archivo previamente cifrado, ya que el proceso es reversible.

Es decir, partiendo del archivo original:

CifrarArchivo('C:\IMAGEN.JPG', 1091); // Cifra
CifrarArchivo('C:\IMAGEN.JPG', 1091); // Restaura al estado original


Saludos.