Tartalomjegyzék:

Caesar Cipher program Pythonban: 4 lépés
Caesar Cipher program Pythonban: 4 lépés

Videó: Caesar Cipher program Pythonban: 4 lépés

Videó: Caesar Cipher program Pythonban: 4 lépés
Videó: #ceasarcipher #python #encryption #decryption 2024, Július
Anonim
Caesar Cipher program Pythonban
Caesar Cipher program Pythonban

A Caesar Cipher egy ősi és széles körben használt rejtjelezés, amelyet könnyű titkosítani és visszafejteni. Ez úgy működik, hogy az ábécé betűit áthelyezi egy teljesen új ábécé létrehozásához (az ABCDEF 4 betű felett eltolódhat, és EFGHIJ lesz).

A Caesar Ciphers nem a legbiztonságosabb rejtjelek, de alkalmasak apró feladatokra, például titkos jegyzetek átadására vagy a jelszavak kissé megerősítésére. Tényleg könnyű megfejteni a kódot, de unalmas lehet titkosítani, ha nincs a speciális ábécéje megjegyezve.

Ennek a folyamatnak a megkönnyítésére használhatjuk a számítógépek erejét, pontosabban a Python programozási nyelvet.

Ez az utasítás megmutatja, hogyan hozhat létre olyan programot, amely parancsára konvertálja az üzeneteket rejtjelekké.

Kellékek

Csak egy Python tolmácsra van szüksége: az IDLE, a Pycharm és a Thonny néhány jó, ingyenes lehetőség (én a Pycharm -ot használtam)

Alapvető ismeretek a Pythonról

1. lépés: Változók deklarálása és bemenetek beszerzése

Változók deklarálása és bemenetek beszerzése
Változók deklarálása és bemenetek beszerzése

Az ábécé, üzenet, eltolás stb. Karakterlánc (szöveg) értékeinek tényleges tárolásához változókat kell használnunk. Kezdjük az „ábécé”, „részleges egy”, „részleges kettő” és „új ábécé” változók deklarálásával. A Camel Case változóinak nevét a kódomba írtam (az első szó kisbetűs és második nagybetűs), de tetszés szerint írhat, feltéve, hogy a kód többi részében is megváltoztatja. Az ábécé változó értéke "abcdefghijklmnopqrstuvwxyz". Az összes többi változó értéke "", ami üres karakterlánc, mivel még nincsenek értékeink.

Ez a Partial rendszer felállítása, amellyel ténylegesen létrehozzuk a váltást. Ezt egy későbbi lépésben ismertetjük.

Ezt követően meg kell kapnunk az üzenetet és az értéket a felhasználótól. Ehhez a beviteli funkciót használjuk. A kód ezen része üzenetet és számot kér a felhasználótól az ábécé eltolásához.

KÓD:

ábécé = "abcdefghijklmnopqrstuvwxyz"

partialOne = ""

partTwo = ""

newAlphabet = ""

message = input ("Kérjük, írja be a lefordítani kívánt üzenetet:").lower ()

key = int (input ("Kérjük, írja be az áthelyezni kívánt számot:"))

2. lépés: Az új ábécé létrehozása

Az új ábécé megalkotása
Az új ábécé megalkotása

Most hozza létre az eltolt ábécét. Ehhez a részrendszert fogjuk használni. A parciális rendszer az, ahol a számítógép két részre osztja az ábécét (a részek kimondott módja). Az első rész azonban hosszú, amikor azt mondtad a programnak, hogy haladjon, a második pedig a többi. A számítógép kapcsolja a részeket. A kód pontosan ezt teszi, az első állítással együtt, amely azt mondja, hogy ha az eltolás 0, akkor az új ábécé és a régi ábécé ugyanaz, mivel semmit nem vált.

Például:

Sorozat - 123456789

Első rész - 123; Második rész - 456789

Új sorozat - 456789123

KÓD:

ha kulcs == 0:

newAlphabet = ábécé

elif kulcs> 0:

partialOne = ábécé [: kulcs]

partTwo = ábécé [kulcs:]

newAlphabet = részlegesKét + részleges egy

más:

partialOne = ábécé [:(26 + billentyű]

partTwo = ábécé [(26 + billentyű):]

newAlphabet = részlegesKét + részleges egy

3. lépés: Az üzenet eltolása

Az üzenet eltolása
Az üzenet eltolása

Most megvan az ábécénk és az új ábécé. Nincs más hátra, mint az üzenetet kódba váltani.

Először egy új változót állítunk be, és titkosítottnak nevezzük, és "" értékre állítjuk. Ezután írunk egy nagyon bonyolult for-ciklust, amely ellenőrzi az üzenet minden egyes betűjét, és átváltja az új betűre. Kimeneti az eredményt, és ott van, egy sikeresen konvertált kód!

KÓD:

encrypted = "" üzenet_index tartományban (0, len (üzenet)):

if message [message_index] == "":

titkosított+= ""

a alphabet_index tartományban (0, len (newAlphabet)):

ha üzenet [üzenet_index] == ábécé [ábécé_index]:

titkosított+= newAlphabet [ábécé_index]

nyomtatás (titkosítva)

4. lépés: További

További
További
További
További

Mellékelve a kódfájl.

Ajánlott: