Оглавление:
- Запасы
- Шаг 1. Объявление переменных и получение входных данных
- Шаг 2: Создание нового алфавита
- Шаг 3: перенос сообщения
- Шаг 4: Дополнительно
Видео: Программа Caesar Cipher на Python: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Шифр Цезаря - древний и широко используемый шифр, который легко зашифровать и расшифровать. Он работает, сдвигая буквы алфавита, чтобы создать совершенно новый алфавит (ABCDEF может сдвинуть более 4 букв и станет EFGHIJ).
Шифры Цезаря - не самые безопасные шифры, но они хороши для небольших задач, таких как передача секретных заметок или усиление паролей. Расшифровать код действительно легко, но зашифровать его может быть утомительно, если вы не запомнили специальный алфавит.
Чтобы упростить этот процесс, мы можем использовать мощность компьютеров, а точнее язык программирования Python.
Эта инструкция покажет вам, как создать программу, преобразующую сообщения в шифр по вашей команде.
Запасы
Все, что вам нужно, это интерпретатор Python: IDLE, Pycharm и Thonny - несколько хороших бесплатных вариантов (я использовал Pycharm).
Базовые знания Python
Шаг 1. Объявление переменных и получение входных данных
Чтобы фактически сохранить строковые (текстовые) значения алфавита, сообщения, сдвига и т. Д., Нам нужно использовать переменные. Начнем с объявления переменных «алфавит», «partialOne», «partialTwo» и «newAlphabet». Я написал имена переменных в Camel Case в моем коде (первое слово в нижнем регистре, а второе в верхнем регистре), но вы можете написать его как хотите, если вы не забудете изменить его и в остальной части кода.. Переменная алфавита имеет значение «abcdefghijklmnopqrstuvwxyz». Все остальные переменные установлены в "", что является пустой строкой, поскольку у нас еще нет их значений.
При этом настраивается Частичная система, которую мы используем для фактического создания сдвига. Это будет объяснено позже.
После этого мы должны получить сообщение и значение сдвига от пользователя. Для этого мы используем функцию ввода. Эта часть кода запрашивает у пользователя сообщение и номер, на который нужно сдвинуть алфавит.
КОД:
алфавит = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partialTwo = ""
newAlphabet = ""
message = input ("Пожалуйста, введите сообщение, которое вы хотите перевести:").lower ()
key = int (input ("Пожалуйста, введите число, на которое вы хотите перейти:"))
Шаг 2: Создание нового алфавита
Теперь создадим сдвинутый алфавит. Для этого воспользуемся частичной системой. Частичная система - это когда компьютер разбивает алфавит на две части (причудливый способ произнести части). Длина первого фрагмента зависит от того, какой длины вы указали программе, а второй - остаток. Компьютер переключает партиалы. Это именно то, что делает код вместе с первым оператором, который говорит, что если сдвиг равен 0, новый алфавит и старый алфавит одинаковы, поскольку вы ничего не переключаете.
Например:
Последовательность - 123456789
Частичный - 123; Частично два - 456789
Новая последовательность - 456789123
КОД:
если ключ == 0:
newAlphabet = алфавит
ключ elif> 0:
partialOne = алфавит [: ключ]
partialTwo = алфавит [ключ:]
newAlphabet = partialTwo + partialOne
еще:
partialOne = алфавит [:(26 + клавиша)]
partialTwo = алфавит [(26 + клавиша):]
newAlphabet = partialTwo + partialOne
Шаг 3: перенос сообщения
Теперь у нас есть алфавит и новый алфавит. Осталось только переключить сообщение в код.
Сначала мы устанавливаем новую переменную, называем ее «зашифрованной» и устанавливаем ее в «». Затем мы пишем действительно сложный цикл for, который проверяет каждую букву в сообщении и переключает его на новую букву. Он выводит результат, и вот он, успешно преобразованный код!
КОД:
encrypted = "" для message_index в диапазоне (0, len (сообщение)):
если сообщение [message_index] == "":
зашифрованный + = ""
для алфавита_индекс в диапазоне (0, len (newAlphabet)):
если сообщение [message_index] == алфавит [алфавит_индекс]:
encrypted + = newAlphabet [алфавит_индекс]
печать (зашифрованный)
Шаг 4: Дополнительно
Прилагается файл кода.
Рекомендуемые:
Решающая программа для куба Рубика вслепую в реальном времени с использованием Raspberry Pi и OpenCV: 4 шага
Кубик Рубика «вслепую» в реальном времени с использованием Raspberry Pi и OpenCV: это вторая версия кубика Рубика, предназначенная для решения «вслепую». Первая версия была разработана с помощью javascript, вы можете увидеть проект RubiksCubeBlindfolded1В отличие от предыдущей, эта версия использует библиотеку OpenCV для определения цветов и е
Программа Python - начисление процентов с ежемесячными взносами / депозитом: 5 шагов
Программа Python - начисление сложных процентов с ежемесячными взносами / депозитом: программа для расчета сложных процентов с ежемесячным взносом в конце месяца. Формула взята с сайта TheCalculatorSite.com: составные проценты для основной суммы: P (1 + r / n) ^ (nt) Будущее значение ряда: PMT × (((1 + r / n) ^ nt - 1) / (r / n))
Программа Esp -01 с использованием Arduino: 3 шага
Программа Esp -01 с использованием Arduino: программировать esp8266 - это вроде как, потому что у него нет встроенного преобразователя USB в ttl или какой-либо кнопки сброса
Программа защиты паролем: 4 шага
Программа защиты паролем: это способ скрыть пароль компьютера. Это позволит вам защитить ценные данные, но также позволит без особых трудностей восстановить забытый пароль. Хотя это может быть не самое практичное решение, эта идея, безусловно, очень
Программа для начинающих по Arduino: 4 шага
Primer Programa De Arduino: El Arduino - это микро / контроллер, который является программой для вычислений. Una vez descargado el Arduino IDE, y conectada la comptadora, seleccionar el tipo de placa y el puerto serial (Instrucciones ac á). El lenguaje de programaci ó n que