Obsah:

Šifrovací program Caesar v Pythone: 4 kroky
Šifrovací program Caesar v Pythone: 4 kroky

Video: Šifrovací program Caesar v Pythone: 4 kroky

Video: Šifrovací program Caesar v Pythone: 4 kroky
Video: Caesarova šifra - praktický projekt pro Python začátečníky 2024, November
Anonim
Šifrovací program Caesar v Pythone
Šifrovací program Caesar v Pythone

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

Deklarovanie premenných a získavanie vstupov
Deklarovanie premenných a získavanie 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

Vytvorenie novej abecedy
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

Posunutie správy
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é

Dodatočné
Dodatočné
Dodatočné
Dodatočné

V prílohe je súbor s kódom.

Odporúča: