Buenas!
Como poder encriptar supongo que se puede...
Solo tendrías que obtener el contenido del fichero y aplicarle una función de encriptación.
El problema es que si aplicas una función de encriptación irreversible (se que tiene un nombre específico, pero no me acuerdo y siempre los confundo!) como SHA1, SHA256, etc no podrás recuperar el contenido original a no ser que lo guardes en otro lado (con lo que te quedas en las mismas).
Por tanto, tendrías que aplicar un algoritmo que fuera reversible (como base64, o aplicar alguno que inventes tú; yo cuando estudiaba informática tuve una práctica basada en el método BIGENERE); entonces a la hora de ejecutar tendrías que deshacer el algoritmo y ejecutar... y luego volver a encriptar.
Por si te pica la curiosidad del BIGENERE "modificado" que hicimos, se basa en lo siguiente:
Código:
- Tenemos la entrada que queremos encriptar (E)
- Tenemos un pass privado generado por nosotros (P)
Entonces, obtenemos una longitud L tal que:
Si longitud(E)>longitud(P), L=longitud(E)
Si longitud(E)<longitud(P), L=longitud(P)
Ahora, hacemos un bucle de i=0 hasta L, y en cada iteración, hacemos:
- Obtenemos el valor ASCII del caracter i de E y le sumamos (o restamos) el valor ASCII del caracter i de P. (X)
- Operamos X para que quede dentro del rango de caracteres visibles (de 33 a 127) [opcional]
- Obtenemos el caracter correspondiente a X
- Lo añadimos a un String.
**Cabe destacar que si llegamos al final de una cadena (E, o P), debemos volver al inicio de la misa
Para ponerte un ejemplo:
Input: 01234
Pass: 543210
L = 5
ASCII(0) = 48
[formato X: (ASCII, I + P)
X= (101; "0"+"5"), (101; "1"+"4"), (101, "2" + "3"), (101, "3" + "2"), (101, "4" + "1"), (95, "0" + "0") => eeee_
Para desencriptar has de hacer el proceso inverso...
Si quieres te puedo pasar el código en C o en PHP...
Espero que te ayude,
Saludos!