Obsah:
- Zásoby
- Krok 1: Deklarovanie premenných a získanie vstupov
- Krok 2: Vytvorenie novej abecedy
- Krok 3: Posunutie správy
- Krok 4: Dodatočné
Video: Šifrovací program Caesar v Pythone: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Caesar Cipher je starodávna a široko používaná šifra, ktorú je ľahké šifrovať a dešifrovať. Funguje to tak, že posunutím písmen abecedy vytvoríte úplne novú abecedu (ABCDEF by mohol posunúť viac ako 4 písmená a stal by sa EFGHIJ).
Caesar Ciphers nie sú najbezpečnejšie šifry, ale sú vhodné na malé úlohy, ako je odovzdávanie tajných poznámok alebo vytváranie hesiel o niečo silnejšie. Dešifrovať kód je skutočne jednoduché, ale šifrovať ho môže byť únavné, ak špeciálnu abecedu nemáte uloženú v pamäti.
Aby bol tento proces jednoduchší, môžeme využiť silu počítačov, presnejšie programovací jazyk Python.
Tento návod vám ukáže, ako vytvoriť program, ktorý na váš príkaz konvertuje správy na šifru.
Zásoby
Všetko, čo potrebujete, je prekladač Pythonu: IDLE, Pycharm a Thonny sú dobré a bezplatné možnosti (použil som Pycharm)
Základné znalosti jazyka Python
Krok 1: Deklarovanie premenných a získanie vstupov
Na skutočné uloženie reťazcových (textových) hodnôt abecedy, správy, posunu atď. Musíme použiť premenné. Začíname s deklarovaním premenných „abeceda“, „částečnýOne“, „čiastočnýTwo“a „nová abeceda“. Názvy premenných v Camel Case som zapísal do svojho kódu (prvé slovo je malé a druhé veľké), ale môžete ho napísať akýmkoľvek spôsobom, pokiaľ si ho budete pamätať aj v celom zvyšku kódu.. Abecedná premenná má hodnotu „abcdefghijklmnopqrstuvwxyz“. Všetky ostatné premenné sú nastavené na „“, čo je prázdny reťazec, pretože ešte nemáme ich hodnoty.
Čo to robí, je nastavenie čiastočného systému, ktorý vlastne používame na vytvorenie posunu. To bude vysvetlené v neskoršom kroku.
Potom musíme od používateľa dostať správu a hodnotu posunu. Na to používame vstupnú funkciu. Táto časť kódu požaduje od užívateľa správu a číslo, o ktoré sa má abeceda posunúť.
KÓD:
abeceda = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partialTwo = ""
newAlphabet = ""
message = input („Zadajte správu, ktorú chcete preložiť:“).lower ()
kľúč = int (zadajte („Zadajte číslo, o ktoré sa chcete posunúť:“))
Krok 2: Vytvorenie novej abecedy
Teraz vytvorte posunutú abecedu. Na to použijeme čiastkový systém. Čiastočný systém je miesto, kde počítač rozdelí abecedu na dve časti (efektný spôsob, ako hovoriť časti). Prvá časť je však dlhá, aby ste povedali, aby program prešiel, a druhá je zvyšok. Počítač prepne časti. To je presne to, čo kód robí, spolu s prvým vyhlásením, ktoré hovorí, že ak je posun 0, nová abeceda a stará abeceda sú rovnaké, pretože nič neprepínate.
Napríklad:
Sekvencia - 123456789
Časť prvá - 123; Druhá časť - 456789
Nová sekvencia - 456789123
KÓD:
ak kľúč == 0:
newAlphabet = abeceda
elif key> 0:
partialOne = abeceda [: kľúč]
partialTwo = abeceda [kláves:]
newAlphabet = partialTwo + partialOne
inak:
partialOne = abeceda [:(26 + kláves)]
partialTwo = abeceda [(26 + kláves):]
newAlphabet = partialTwo + partialOne
Krok 3: Posunutie správy
Teraz máme našu abecedu a novú abecedu. Zostáva iba prepnúť správu do kódu.
Najprv nastavíme novú premennú, nazveme ju „šifrovanou“a nastavíme na „“. Potom napíšeme skutočne komplikovanú slučku For-loop, ktorá skontroluje každé písmeno v správe a prepne ho na nové písmeno. Výstupom je výsledok a tu ho máte, úspešne skonvertovaný kód!
KÓD:
encrypted = "" pre message_index v rozsahu (0, len (správa)):
ak správa [message_index] == "":
šifrované+= ""
pre alphabet_index v rozsahu (0, len (newAlphabet)):
ak správa [message_index] == abeceda [alphabet_index]:
šifrované+= nová abeceda [alphabet_index]
tlačiť (šifrované)
Krok 4: Dodatočné
V prílohe je súbor s kódom.
Odporúča:
Skener QR kódu pomocou OpenCV v Pythone: 7 krokov
Skener QR kódov pomocou OpenCV v Pythone: V dnešnom svete vidíme, že QR kód a čiarový kód sa používajú takmer všade, od balenia produktu po online platby a v dnešnej dobe vidíme QR kódy dokonca aj v reštaurácii, aby sme videli menu. Pochybujem, že je to teraz hlavná myšlienka. Ale už ste niekedy mali
Programy v Pythone Časť oblasti bez diagramu PV: 4 kroky
Programy Python Para El Area De Un Diagrama PV: Úvod do oCute; n al programaSe sabe que el á rea bajo la curva de un diagrama PV determina el trabajo hecho por por un gas ideal. Programy sa určujú tak, aby určovali, či ide o plynový kumulovaný súhrn údajov o tom, ako
LED svetlo na bicykel programovateľné v Pythone: 4 kroky
LED svetlo na bicykli programovateľné v Pythone: Tento tutoriál vám ukáže, ako vytvoriť skvelé LED svetlá na bicykle, ktoré je možné programovať v Pythone. Najprv sa uistite, že máte všetky zásoby: mikrokontrolér Gemma M0 10k potenciometer 1m NeoPixel LED pásik 30 pixelov/meter USB batéria
Tlač farebného textu v Pythone bez akéhokoľvek modulu: 3 kroky
Tlač farebného textu v Pythone bez akéhokoľvek modulu: Potom, čo bol môj druhý Instructable omylom vymazaný, som sa rozhodol vytvoriť nový. V tomto vám ukážem, ako vytlačiť farebný text v pythone
Ako vytvoriť program numerickej integrácie v Pythone: 10 krokov
Ako vytvoriť program numerickej integrácie v Pythone: Toto je návod, ako vytvoriť a spustiť program, ktorý bude hodnotiť určité integrály pomocou numerického integračného algoritmu. Kroky som rozdelil do 3 častí: porozumenie algoritmu, ktorý bude použitý na vytvorenie programu, kódovanie