Нужно сделать ввод текста, формирование ключа
Вывод на экран исходного текста, ключа, шифрованного текста и расшифрованного текста
Код для формирование ключа есть такой:
def key(): message = entry_in.get() offset1 = sample(range(1, len(message) + 1), len(message)) entry_key.delete(0, 'end') entry_key.insert(0, ''.join(map(str, offset1)))
Код формы:
root = form.Tk() root.geometry('200x200') lbl1 = form.Label(text='Введите текст').pack() entry_in = form.Entry(width=30) entry_in.pack() lbl_key = form.Label(text='Ключ шифрования').pack() entry_key = form.Entry(width=30, text='') entry_key.pack() lbl2 = form.Label(text='Зашифрованый текст').pack() entry_out = form.Entry(width=30) entry_out.pack() btn_key = form.Button(text='Создать ключ', command=key) btn_key.pack() btn = form.Button(text='Шифрование', command=process) btn.pack() btn2 = form.Button(text='Дефишрование', command=process2) btn2.pack() root.mainloop()
Пробовал делать таким методом:
plaintext = 'Привет' key = 2 ciphertext = [''] * key for column in range(key): pointer = column while pointer < len(plaintext): ciphertext[column] += plaintext[pointer] print(ciphertext) pointer += key print(''.join(ciphertext))
Также наткнулся на ресурс : https://teachen.info/cspp/unit6/lab06-02.html