Github
https://github.com/denisxab/SHISH
Захотелось сделать очень простое криптографическое приложение для текста, вдруг будет такая необходимость.
Смысл в том что шифрование происходит случайными числами от заданных bit, второе значение rand задает количество ключей для каждого символа, чтобы он не повторялся и нельзя было найти закономерность текста.
Сам ключ храниться в .json поэтому отправить, посмотреть, редактировать его просто.
Как это работает ?
- Создать ключ.
- Поделиться ключом.
- Написать текст в окно «Закодировать» нажать на кнопку.
- Отправить текст из окна «Декодировать».
Из за особенности tkinter он отвечает не list а обычным str и поэтому каждый отступ в окне «Декодировать» важен.
Создание ключа
bit = input() rand = input() l = {} a = list('б','у','к','в','ы') for x in a: l[x]=[] for y in range(rand): l[x].append(random.getrandbits(bit)) print(l)
Кодировать текст
slo = input() red =dict(созданный словарь с ключом) v = [] for x in slo: if x in red: v.append(random.choice(red[x])) print(v)
Декодировать
list_code = input() red = dict(созданный словарь с ключом) v = {} for x in red.items(): for z in list_code: if z in x[1]: v[z]=x[0] zx = [] for x in list_code: if x in v: zx.append(v[x])
ссылка на оригинал статьи https://habr.com/ru/post/460727/
Добавить комментарий