Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import choice
- from copy import copy
- import os
- letters = ['а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я',' ']
- def generate_key():
- file = open("key.txt","a+")
- dup = copy(letters)
- for i in range(len(letters)):
- random_letter = choice(dup)
- file.write(letters[i] + random_letter + '\n')
- dup.remove(random_letter)
- file.close()
- return
- def read_key():
- file = open("key.txt", "r")
- keys = file.read().split('\n')[:-1]
- return dict((key[0], key[1]) for key in keys)
- def encryption():
- filename = input()
- keys = read_key()
- text = open(filename, "r").read()
- r = []
- for i in range(len(text.strip())):
- if text[i].lower() in letters:
- r.append(keys[text[i].lower()])
- else:
- r.append(text[i])
- text = "".join(r)
- file = open("encrypted.txt","w+")
- file.write(text)
- file.close()
- def get_key(val, my_dict):
- for key, value in my_dict.items():
- if val == value:
- return key
- return val
- def decrypt():
- filename = input()
- if os.path.exists(filename):
- text = open(filename).read()
- keys = read_key()
- r = []
- for i in range(len(text.strip())):
- r.append(get_key(text[i], keys))
- text = "".join(r)
- print(text)
- file = open("decrypted.txt","w+")
- file.write(text)
- file.close()
- else:
- print("No encrypt file")
- def main():
- command = input()
- if command == 'encrypt':
- generate_key()
- encryption()
- elif command == 'decrypt':
- decrypt()
- else:
- print('Wrong command name')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement