migration code boitevocales
[auf_montreal_asterisk_users.git] / arc4.py
CommitLineData
4837ccba
OL
1# -*- encoding: utf-8 -*-
2
3"""
4Script qui permet de crypter et décrypter des fichiers.
5"""
6
7import sys
8import getopt
9from Crypto.Cipher import ARC4 as Cipher
10
11EXT = ".arc4"
12
13def 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
21def 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
29if __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