elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] ayuda con pycrypto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Python] ayuda con pycrypto  (Leído 6,357 veces)
Pois0n84

Desconectado Desconectado

Mensajes: 8


Ver Perfil
[Python] ayuda con pycrypto
« en: 20 Agosto 2016, 01:44 am »

Mi dolor de cabeza es este quiero hacer un programa que me encripte ciertos archivos y luego borre la version original, por que lo he intentado solo me funciona con un solo archivo y crea uno nuevo, yo trabajo con archivos delicados y cuando termino de moficarlos es cifrar y borrar la version sin cifrar.

Aqui comienza el codigo:


Código
  1. ## def encrypt(key, filename):
  2.    chunksize = 64*1024
  3.    outputFile = "(encrypted)"+filename
  4.    filesize = str(os.path.getsize(filename)).zfill(16)
  5.    IV = ''
  6.  
  7.    for i in range(16):
  8.        IV += chr(random.randint(0, 0xFF))
  9.  
  10.    encryptor = AES.new(key, AES.MODE_CBC, IV)
  11.  
  12.    with open(filename, 'rb') as infile:
  13.        with open(outputFile, 'wb') as outfile:
  14.            outfile.write(filesize)
  15.            outfile.write(IV)
  16.  
  17.            while True:
  18.                chunk = infile.read(chunksize)
  19.  
  20.                if len(chunk) == 0:
  21.                    break
  22.                elif len(chunk) % 16 != 0:
  23.                    chunk += ' ' * (16 - (len(chunk) % 16))
  24.  
  25.                outfile.write(encryptor.encrypt(chunk))
  26.  
  27.  
  28.  

Este codigo me lo encontre en un foro ya que no encuentro nada relevante en pycrypto.


Código
  1. lista_archivos =  [ [os.path.join(root,file),root.split(path)[1]] for root,dirs,files in os.walk(path)
  2.                    for file in files if os.path.splitext(file)[-1] in extensiones ]
  3.  
  4. encrypt(getKey(password), lista_archivos)

lista_archivos es donde estan todos los archvios con extensiones .xx

luego llamo a la  funcion de encriptacion.


asi genero el cifrado:

Código
  1. password = "xx"
  2.  
  3. > def getKey(password):
  4.  
  5.    hasher = SHA256.new(password)
  6.    return hasher.digest()



lo estoy resumiendo lo mas que puedo

bueno el caso es que, la lista recorre todos los archivos con extensiones .xx, y luego me lo almacena en una lista yo quiero cifrar esos archivos y luego borrar el original, arriba el codigo de cifrar solo me permite cifrar un solo archivo, si alguien me ayuda se los agradecería mucho .

Gracias de antemano!



[MOD]: Menudo desastre con tanto QUOTE. Intenta utilizar la etiqueta CODE como Dios manda...


« Última modificación: 20 Agosto 2016, 02:28 am por Eleкtro » En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: [Python] ayuda con pycrypto
« Respuesta #1 en: 20 Agosto 2016, 02:52 am »

la verdad que como pusiste el código da asco, ahora supongo que tu problema está acá:
Código
  1.    lista_archivos =  [ [os.path.join(root,file),root.split(path)[1]] for root,dirs,files in os.walk(path)
  2.                        for file in files if os.path.splitext(file)[-1] in extensiones ]
  3.  
  4.    encrypt(getKey(password), lista_archivos)
  5.  

probá con algo así:
Código
  1. for root,dirs,files in os.walk(path):
  2.    for file in files:
  3.        match= re.search(contiene,file)
  4.        if match is not None:
  5.            encrypt(getKey(password), file)
  6.  

por las dudas, tenés que importar re
ahhh y "contiene" es la variable con la extensión de archivos, por si solo es un tipo de archivo

Saludos.


« Última modificación: 20 Agosto 2016, 02:59 am por tincopasan » En línea

Pois0n84

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [Python] ayuda con pycrypto
« Respuesta #2 en: 20 Agosto 2016, 04:33 am »

ahahaha sorry por el desastre es que soy nuevo en el foro,  al ejecutar me dio este error.

Edito el error no me deja ponerlo en formato python

Código
  1. match= re.search(extensiones,file)
  2. File "C:\Python27\lib\re.py", line 146, in search
  3. return _compile(pattern, flags).search(string)
  4. File "C:\Python27\lib\re.py", line 237, in _compile
  5. p, loc = _cache[cachekey]
  6. TypeError: unhashable type: 'list'
« Última modificación: 20 Agosto 2016, 04:43 am por Pois0n84 » En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: [Python] ayuda con pycrypto
« Respuesta #3 en: 20 Agosto 2016, 04:38 am »

ah! listo, no puedo ayudarte no uso ni por casualidad 2.7, pero supongo que en extensiones pusiste por ejemplo:
Código
  1. extensiones=".pdf"
  2.  

o la extensión que quieras encryptar.
En línea

Pois0n84

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [Python] ayuda con pycrypto
« Respuesta #4 en: 20 Agosto 2016, 04:40 am »

pongo ejemplo

Código
  1. ".pdf"

que es lo que quiero filtrar
« Última modificación: 20 Agosto 2016, 04:53 am por Pois0n84 » En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: [Python] ayuda con pycrypto
« Respuesta #5 en: 20 Agosto 2016, 17:09 pm »

la verdad no me interesa buscar las soluciones entre las versiones de python pero creo que podrías probar también:

Código
  1. for root,dirs,files in os.walk(path):
  2.    for file in files:
  3.        (nombreFichero, extension) = os.path.splitext(fichero)
  4.        if(extension == ".pdf"):
  5.            aencriptar=nombreFichero+extension
  6.            encrypt(getKey(password), aencriptar)
  7.  

para no usar el modulo re que es el que está dando problemas.
En línea

Pois0n84

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [Python] ayuda con pycrypto
« Respuesta #6 en: 20 Agosto 2016, 17:20 pm »

sabes bro yo tenia algo igual en mente Xd.

Código
  1. for root,dirs,files in os.walk(home):
  2.    for file in files:
  3.        if os.path.splitext(file)[-1] in extensiones:
  4.            encrypt(getKey(password), file)

ese fue lo que puse y tanto ese codigo como el tuyo, me encriptan  los archivos que estan en el directorio donde se encuentra el scrip, me faltaría que me recorra todos los directorios. Y no solo uno.
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: [Python] ayuda con pycrypto
« Respuesta #7 en: 20 Agosto 2016, 18:08 pm »

¿y si cambias (home) por ("c:")?
En línea

Pois0n84

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: [Python] ayuda con pycrypto
« Respuesta #8 en: 20 Agosto 2016, 21:05 pm »

tampoco  :-( , y para que funcione tengo que poner el script ej en el escritorio que es donde tengo 2 o 3 archivos de los muchos pero cuando me va a buscar uno que no esta en el escritorio, me da error.
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: [Python] ayuda con pycrypto
« Respuesta #9 en: 21 Agosto 2016, 01:24 am »

lo probé en windows y desde otra unidad y lo que puse me anda, ahora si usas linux y python 2.7 no tengo la menor idea, porque no uso esos entornos.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[AYUDA][PYTHON] como se usa la libreria WAVE en python?
Scripting
Noxware 2 3,348 Último mensaje 5 Mayo 2014, 09:03 am
por Intrus0
[AYUDA][PYTHON] Necesito ayuda con el metodo SEARCH del modulo RE de python
Scripting
Noxware 2 3,634 Último mensaje 24 Mayo 2014, 16:11 pm
por Noxware
[AYUDA][PYTHON] Leer y guardar archivos .exe de forma hexadecimal en python???
Scripting
Noxware 3 5,326 Último mensaje 22 Agosto 2014, 09:33 am
por Eleкtro
Necesito ayuda con PyCrypto
Scripting
Th3_K1d 0 1,554 Último mensaje 10 Noviembre 2017, 01:47 am
por Th3_K1d
Instalar pycrypto en ubuntu 14
Seguridad
maria13 1 2,693 Último mensaje 2 Mayo 2018, 11:36 am
por aangrymasther
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines