Рубрики
Без рубрики

WXPYPHON – весело с глупыми шифрами

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

Когда я был ребенком, я был действительно в секретных кодах и шифрах. Я думал, что они всевозможные веселые. Моя мама думала, что было бы интересно использовать некоторые из шифров, которые я так влюблен в охоте на сокровищ в особых случаях, как рождения. Она взяла бы что-то вроде колеса криптографии и создавать коды с ним, что мой брат, и мне придется декодировать с нашим собственным колесом, чтобы найти подарок или другую подсказку. Мы использовали вещи, где числа будут представлять буквы ,,) или мы использовали бы скользящую масштаб, где вы перемещаете алфавит одну букву ,,,, иногда мы создали кодовую палочку, где вы получаете длинную строку бумаги и обертываете Это вокруг карандаша, а затем написать сообщение об бумаге. Это почти невозможно прочитать, когда он развернут.

В любом случае, я решил создать глупую шифрованную программу с Wxpython, где я мог бы ввести строку и уравновесить ее на что-то еще. Я также хотел, чтобы моя программа тоже декодировала. Теперь вы не можете действительно сделать программу, которая может использовать колесо Cryptograph или кодовую палку, но для номеров кодов или скользких весов, которые чрезвычайно легко.

Создание кодирования GUI

Создание фактического GUI – это кусок пирога. Требуется немного больше работы для кодирования задней части, где вы должны на самом деле разбирать строку и изменить его во что-то еще. Для этого упражнения я создал 4 энкодеров и 3 декодеры. 5 кодировщиков кодируют строки в номера, ASCII (который представляет собой другой набор номеров), L33T (просто для удовольствия) и Hex. Для декодеров я декодирую все, кроме L33T. Давайте найдя момент, чтобы изучить код для GUI:

Мы, вероятно, должны принять пару моментов и сломать это. Как вы, вероятно, заметили на скриншоте ранее, этот графический интерфейс имеет пару Comboboxes, пару многострочных тексторов и две кнопки. Comboboxes контролирует то, что мы кодируем или декодируем. Мы импортировали загадочный модуль под названием «контроллер», который содержит весь код, который делает кодировку. Мы посмотрим на это через минуту. Во-первых, нам нужно посмотреть на пару функций в этой части. В Onencode Метод, мы должны получить значение, которое мы собираемся кодировать и передавать его в соответствующую функцию контроллера. Для OnDeCode Метод, мы иногда должны делать небольшую предварительную обработку, прежде чем пройти данные на контроллер. Вы можете увидеть пример в порции ASCII условного значения, где мы должны создать список целых чисел или в разделе Num2Alpha, где нам нужно создать список чисел. Как только вы понимаете, что здесь происходит, не стесняйтесь продолжать следующую часть кода ниже.

Вы можете заметить, что я включил другие примеры в контроллере, который в настоящее время не подключен к GUI. Например, у меня есть функция преобразователя, для преобразования строк в Caesar, который является популярным шифром, где алфавит смещен 3 места в одном направлении или другой. В любом случае, одним из самых хороших битов об этом коде является то, что нам не нужно ничего импортировать. Все работает только с обычным питоном! Чтобы преобразовать в ASCII, мы используем встроенный Python Орд Отказ Для большинства других мы используем словари, чтобы сопоставить значения. В нижней части скригации у нас есть несколько тестовых случаев, чтобы проверить и убедиться, что он преобразует строки, поскольку мы ожидаем его. Они, вероятно, должны быть сделаны в тесты на реальные единицы, но для быстрой и грязной проверки, эти работы великолепны!

Упаковка

Есть несколько других кодов, которые я хотел бы добавить к этому в какой-то момент, например, orse код. Мне также нравятся коды, в которых сообщение скрыто в тексте, например, каждая первая буква (или последняя) в стихотворении, закладывает наше чего-либо или где каждая буква в начале предложения заклинания. Это всегда было весело. Я включил несколько ссылок в конце этой статьи, чтобы вы могли прочитать о других веселых кодах и шифрах. Иметь веселье кодировать!

Дополнительное чтение

Загрузите источник!

  • ciphergui.zip
  • ciphergui.tar.tar.