Jump to content
Sign in to follow this  
Dr_Lion

Script cifrar ficheiros

Recommended Posts

Dr_Lion

Ora bem, lembrei-me que poderia ser uma brincadeira interessante e com alguma utilidade, visto que guardar ficheiros na cloud é cada vez mais um aspecto duvidoso, e como há algumas coisas que se pretendem manter pessoais..

O script funciona, a questão é mais a nível de optimização de código, coisas que achem interessantes/relevantes. O "algoritmo de cifra é apenas a título de exemplo, pois é dos mais básicos, mas isso é outra história..

#!/usr/bin/env python
import os
import sys
#cifra
opt = sys.argv[1]
fich = open(sys.argv[2], "rb")
if opt == "-c":
nomefc = sys.argv[2]+".fdd"
fich_c = open(nomefc, "wb")
for chunk in fich:
 for byte in chunk:
  byte2 = chr(ord(byte) + 10)
  fich_c.write(byte2)
fich.close()
fich_c.close()
print "Terminado!"
elif opt == "-d":
#decifra
fich = open(sys.argv[2], "rb")
nometmp = sys.argv[2]
nomefc = nometmp[:-4]
fich_c = open(nomefc, "wb")
for chunk in fich:
 for byte in chunk:
  byte2 = chr(ord(byte) - 10)
  fich_c.write(byte2)
fich.close()
fich_c.close()
print "Terminado!"
else:
print "Errr, provavelmente nos parametros!"

Edited by Dr_Lion

Share this post


Link to post
Share on other sites
Pedro C.

Bem para um uso ainda mais especializado seria bom que o script corre-se mais ficheiros de uma virada. Talvez usando os comandos dos modulos "os" e/ou "glob" (ver: http://stackoverflow.com/questions/3207219/how-to-list-all-files-of-a-directory-in-python).

Ainda mais para a frente no acto de cifração poderias criar uma key (um sinal qualquer no ficheiro) que indicasse que aquele ficheiro tinha sido encriptado pelo teu software. Depois ele poderia ler todos os ficheiro de um caminho, identificar aqueles que têm a key e aplicar a decifração.

Ainda mais para a frente poderias considerar um modulo especializado de encriptação (por exemplo, ver: https://www.dlitz.net/software/pycrypto/,https://pypi.python.org/pypi/pycrypto).

Share this post


Link to post
Share on other sites
Dr_Lion

Boas pedro, relativamente a não ter incluido pesquisas por directório tem uma razão simples, subtendo á partida que pontualmente o método se pode aplicar a um ficheiro, ou no caso de serem vários num directório para mim seriam todos, e nesse caso o script seria aplicado após zipar a pasta, pelo que seria da mesma forma apenas um ficheiro.

Na verdade aquilo que falas relação a distinguir o ficheiro, fi-lo pela extensão que adiciono ao ficheiro no final do nome ".fdd" significa que foi cifrado com o meu script.

Quanto ao módulo de cifra não me ocorreu fazer a pesquisa, e também porque a ideia era fazer algo mais baixo nível, mas é uma ideia a ter em conta, ogbrigado pelas dicas.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.