migration code boitevocales
[auf_montreal_asterisk_users.git] / arc4.py
1 # -*- encoding: utf-8 -*-
2
3 """
4 Script qui permet de crypter et décrypter des fichiers.
5 """
6
7 import sys
8 import getopt
9 from Crypto.Cipher import ARC4 as Cipher
10
11 EXT = ".arc4"
12
13 def crypter(path, key):
14 f = open(path)
15 data = f.read()
16 f.close()
17
18 cipher = Cipher.new(key)
19 return cipher.encrypt(data)
20
21 def decrypter(path, key):
22 f = open(path)
23 data = f.read()
24 f.close()
25
26 cipher = Cipher.new(key)
27 return cipher.decrypt(data)
28
29 if __name__ == "__main__":
30 try:
31 opts, args = getopt.getopt(sys.argv[1:], "", [])
32 action, fichier = args
33
34 if action in ("D","d", ):
35 key = raw_input("Mot de passe pour décrypter les migrations : ")
36 data = decrypter(fichier, key)
37 out = fichier.replace(EXT, "")
38 if fichier == out:
39 print "source == destinatiation!"
40 sys.exit(-2)
41 f = open(out, "w")
42 f.write(data)
43 f.close()
44
45 elif action in ("C", "c", ):
46 key = raw_input("Mot de passe pour crypter les migrations : ")
47 data = crypter(fichier, key)
48 out = "%s%s" % (fichier, EXT)
49 if fichier == out:
50 print "source == destinatiation!"
51 sys.exit(-2)
52 f = open(out, "w")
53 f.write(data)
54 f.close()
55
56 except getopt.error, msg:
57 pass
58