Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/01/2013, 18:08
edward18_1
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 12 años, 7 meses
Puntos: 18
Respuesta: Encriptar archivos antes de subirlos al servidor

Cita:
Iniciado por DoHITB Ver Mensaje
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!
Compañero, muchas gracias, si le agradeceria mucho si me pasa el codigo! a ver que tal funciona y por lo que veo si me ayudaria mucho en php, y bueno respondiendo a la pregunta del compañero skiper0125 ¿Por que dices que pueden afectar al servidor?, Como te dije un colega me dijo eso que puede afectarlo y usted sabe que uno siempre sea como sea debe indagar para que la proxima vez no nos tomen desinformados, como por ejemplo si usted sabe que la luna no esta hecha de hierro! y yo le digo que si lo esta. Solo por curiosidad buscaras si la luna contiene hierro o esta hecha de hierro! espero que hayas entendido mi algo loco ejemplo jaja! Gracias :D