-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathencrypt.py
executable file
·21 lines (17 loc) · 950 Bytes
/
encrypt.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import argparse
from RC5 import RC5
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser._action_groups.pop()
required = parser.add_argument_group('Required arguments')
optional = parser.add_argument_group('Optional arguments')
required.add_argument('-i', '--input-file', help='Path to data file', required=True)
required.add_argument('-k', '--key-file', help='Path to key file', required=True)
required.add_argument('-o', '--output-file', help='Path to result file.', required=True)
optional.add_argument('-w', '--block-size', help='RC5 block size. (32, 64 or 128 bits)', default=32)
optional.add_argument('-r', '--round-size', help='RC5 round count. (0 to 255)', default=12)
args = parser.parse_args()
with open(args.key_file, 'rb') as key_file:
key = key_file.read()
rc5 = RC5(args.block_size, args.round_size, key)
rc5.encryptFile(args.input_file, args.output_file)