Obsah:
- Zásoby
- Krok 1: Deklarování proměnných a získání vstupů
- Krok 2: Vytvoření nové abecedy
- Krok 3: Posun zprávy
- Krok 4: Další
Video: Program Caesar Cipher v Pythonu: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Caesar Cipher je starodávná a široce používaná šifra, kterou lze snadno šifrovat a dešifrovat. Funguje to tak, že přesunete písmena abecedy a vytvoříte zcela novou abecedu (ABCDEF by se mohl posunout o 4 písmena a stal by se EFGHIJ).
Caesar Ciphers nejsou nejbezpečnější šifry, ale jsou dobré pro malé úkoly, jako je předávání tajných poznámek nebo trochu silnější hesla. Je opravdu snadné kód dešifrovat, ale šifrování může být zdlouhavé, pokud nemáte speciální abecedu uloženou v paměti.
Abychom tento proces usnadnili, můžeme využít sílu počítačů, konkrétněji programovacího jazyka Python.
Tento Instructable vám ukáže, jak vytvořit program, který na váš příkaz převádí zprávy na šifru.
Zásoby
Vše, co potřebujete, je překladač Pythonu: IDLE, Pycharm a Thonny jsou dobré a bezplatné možnosti (použil jsem Pycharm)
Základní znalosti Pythonu
Krok 1: Deklarování proměnných a získání vstupů
Abychom ve skutečnosti uložili řetězcové (textové) hodnoty abecedy, zprávy, posunu atd., Musíme použít proměnné. Začneme vyhlášením proměnných „abeceda“, „částečnýOne“, „částečnýTwo“a „nováAlphabet“. Napsal jsem názvy proměnných v Camel Case v mém kódu (první slovo je malé a druhé velké), ale můžete jej napsat jakýmkoli způsobem, pokud si pamatujete, že jej změníte i ve zbytku kódu. Abecední proměnná má hodnotu „abcdefghijklmnopqrstuvwxyz“. Všechny ostatní proměnné jsou nastaveny na „“, což je prázdný řetězec, protože ještě nemáme jejich hodnoty.
Co to dělá, je nastavení částečného systému, což je to, co používáme k tomu, abychom skutečně vytvořili posun. To bude vysvětleno v pozdějším kroku.
Poté musíme od uživatele získat zprávu a hodnotu posunu. K tomu používáme funkci vstupu. Tato část kódu žádá uživatele o zprávu a číslo, o které se má abeceda posunout.
KÓD:
abeceda = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partialTwo = ""
newAlphabet = ""
message = input ("Zadejte prosím zprávu, kterou chcete přeložit:").lower ()
klíč = int (zadejte („Zadejte číslo, o které chcete přesunout:“))
Krok 2: Vytvoření nové abecedy
Nyní vytvořte posunutou abecedu. K tomu použijeme částečný systém. Částečný systém je místo, kde počítač rozdělí abecedu na dvě části (fantastický způsob říkání částí). První část je však dlouhá, o kterou jste programu řekli, aby přešla, a ta druhá je zbytek. Počítač přepne dílčí části. To je přesně to, co kód dělá, spolu s prvním příkazem, který říká, že pokud je posun 0, nová abeceda a stará abeceda jsou stejné, protože nic nepřepínáte.
Například:
Sekvence - 123456789
Část první - 123; Část druhá - 456789
Nová sekvence - 456789123
KÓD:
pokud klíč == 0:
newAlphabet = abeceda
elif klíč> 0:
partialOne = abeceda [: klíč]
partialTwo = abeceda [klíč:]
newAlphabet = partialTwo + partialOne
jiný:
partialOne = abeceda [:(26 + klíč)]
partialTwo = abeceda [(26 + klíč):]
newAlphabet = partialTwo + partialOne
Krok 3: Posun zprávy
Nyní máme naši abecedu a novou abecedu. Vše, co zbývá, je přepnout zprávu do kódu.
Nejprve nastavíme novou proměnnou, nazveme ji „šifrovanou“a nastavíme na „“. Poté napíšeme opravdu komplikovaný for-loop, který zkontroluje každé písmeno ve zprávě a přepne ho na nové písmeno. Výsledkem je výsledek a máte jej, úspěšně převedený kód!
KÓD:
encrypted = "" pro message_index v rozsahu (0, len (zpráva)):
pokud zpráva [message_index] == "":
šifrováno+= ""
pro alphabet_index v rozsahu (0, len (newAlphabet)):
pokud zpráva [message_index] == abeceda [alphabet_index]:
zašifrováno+= nová abeceda [alphabet_index]
tisk (šifrovaný)
Krok 4: Další
V příloze je soubor s kódem.
Doporučuje:
Přístup k vašim datům Solaredge pomocí Pythonu: 4 kroky
Přístup k vašim datům Solaredge pomocí Pythonu: Protože data transformátorů solaredge nejsou uložena lokálně, ale na serverech solaredge jsem chtěl použít svá data lokálně, tímto způsobem mohu data použít ve svých vlastních programech. Ukážu vám, jak můžete požádat o svá data na webech solaredge
Ovládání více LED diod pomocí GPIO pinů Pythonu a Raspberry Pi: 4 kroky (s obrázky)
Ovládání více LED diod pomocí GPIO pinů Pythonu a Raspberry Pi: Tento návod ukazuje, jak ovládat více GPIO pinů na vašem RaspberryPi pro napájení 4 LED. Také vás seznámí s parametry a podmíněnými příkazy v Pythonu. Náš předchozí instruktáž pomocí GPIO pinů vašeho Raspberry Pi ke
Rozpoznávání řeči pomocí Google Speech API a Pythonu: 4 kroky
Rozpoznávání řeči pomocí Google Speech API a Pythonu: Rozpoznávání řeči Funkce rozpoznávání řeči je součástí zpracování přirozeného jazyka, které je podoborem umělé inteligence. Jednoduše řečeno, rozpoznávání řeči je schopnost počítačového softwaru identifikovat slova a fráze v mluveném jazyce
Jak vytvořit program číselné integrace v Pythonu: 10 kroků
Jak vytvořit program pro numerickou integraci v Pythonu: Toto je návod, jak vytvořit a spustit program, který vyhodnotí určité integrály pomocí algoritmu numerické integrace. Kroky jsem rozdělil do 3 částí: porozumění algoritmu, který bude použit k vytvoření programu, kódování
Vigenere Cipher s Arduinem: 3 kroky
Vigenere Cipher With Arduino: Před několika lety mě Digital Fortress od Dana Browna upoutal a jedna konkrétní věc mi utkvěla v paměti. Kryptos, socha Jima Sanborna, která se skládá ze šifrovaného textu, jehož první dvě části jsou šifrovány šifrou Vigen & re. Já