Script cifrar ficheiros - Python - Portugal-a-Programar
Script cifrar ficheiros
By Dr_Lion, October 23, 2013 in Python
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..
fich = open(sys.argv[2], "rb")
nomefc = sys.argv[2]+".fdd"
fich_c = open(nomefc, "wb")
for chunk in fich:
byte2 = chr(ord(byte) + 10)
fich_c.write(byte2)
fich_c.close()
print "Terminado!"
#decifra
nometmp = sys.argv[2]
nomefc = nometmp[:-4]
byte2 = chr(ord(byte) - 10)
print "Errr, provavelmente nos parametros!"
Edited October 23, 2013 by Dr_Lion
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).
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.