
Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:07

Cesarjeva šifra je starodavna in široko uporabljena šifra, ki jo je enostavno šifrirati in dešifrirati. Deluje tako, da premakne črke abecede, da ustvari popolnoma novo abecedo (ABCDEF lahko premakne več kot 4 črke in bi postal EFGHIJ).
Cesarjeve šifre niso najbolj varne šifre, vendar so dobre za majhne naloge, kot so posredovanje tajnih zapiskov ali krepitev gesel. Dešifriranje kode je zelo preprosto, vendar je šifriranje lahko dolgočasno, če nimate zapomnjene posebne abecede.
Za olajšanje tega procesa lahko uporabimo moč računalnikov, natančneje programski jezik Python.
Ta Instructable vam bo pokazal, kako ustvariti program, ki na vaš ukaz pretvori sporočila v šifro.
Zaloge
Vse kar potrebujete je tolmač Python: IDLE, Pycharm in Thonny so nekaj dobrih, brezplačnih možnosti (uporabil sem Pycharm)
Osnovno znanje Pythona
1. korak: Izjavljanje spremenljivk in pridobivanje vložkov

Za dejansko shranjevanje nizov (besedila) vrednosti abecede, sporočila, premika itd. Moramo uporabiti spremenljivke. Začnemo z razglasitvijo spremenljivk „abeceda“, „delno eno“, „delno dve“in „nova abeceda“. Imena spremenljivk v Camel Case sem napisala v svojo kodo (prva beseda je mala in druga velika), vendar jo lahko napišete na kakršen koli način, če se spomnite, da jo spremenite tudi v preostali kodi. Abecedna spremenljivka ima vrednost "abcdefghijklmnopqrstuvwxyz". Vse druge spremenljivke so nastavljene na "", kar je prazen niz, saj še nimamo njihovih vrednosti.
To počne nastavitev delnega sistema, ki ga dejansko uporabljamo za ustvarjanje premika. To bo razloženo v naslednjem koraku.
Po tem moramo od uporabnika dobiti sporočilo in vrednost premika. Za to uporabljamo funkcijo vnosa. Ta del kode zahteva od uporabnika sporočilo in številko, po kateri lahko abecedo premakne.
KODA:
abeceda = "abcdefghijklmnopqrstuvwxyz"
delno eno = ""
delnoTwo = ""
newAlphabet = ""
message = input ("Prosimo, vnesite sporočilo, ki ga želite prevesti:").lower ()
key = int (vnos ("Vnesite številko, ki jo želite premakniti za:"))
2. korak: Ustvarjanje nove abecede

Zdaj za ustvarjanje premaknjene abecede. Za to bomo uporabili delni sistem. Delni sistem je, kjer računalnik razdeli abecedo na dva dela (domišljijski način povedati dele). Prvi del je kljub temu dolg, ko ste programu povedali, naj se premakne, drugi pa preostanek. Računalnik preklopi na del. Prav to počne koda, skupaj s prvo izjavo, ki pravi, da če je premik 0, sta nova abeceda in stara abeceda enaki, saj ne spreminjate ničesar.
Na primer:
Zaporedje - 123456789
Delna ena - 123; Drugi del - 456789
Novo zaporedje - 456789123
KODA:
če je ključ == 0:
novaAbeceda = abeceda
tipka elif> 0:
delno eno = abeceda [: ključ]
delnoDve = abeceda [ključ:]
novaAbeceda = delnoDve + delnoEno
drugače:
delnoEno = abeceda [:(26 + ključ)]
delnoDve = abeceda [(26 + tipka):]
novaAbeceda = delnoDve + delnoEno
3. korak: Prestavljanje sporočila

Zdaj imamo svojo abecedo in novo abecedo. Ostaja le, da sporočilo preklopite v kodo.
Najprej nastavimo novo spremenljivko in jo pokličemo 'šifrirano' ter nastavimo na »«. Nato napišemo res zapleteno for zanko, ki preveri vsako črko v sporočilu in jo preklopi na novo črko. Predvaja rezultat in tam imate, uspešno pretvorjeno kodo!
KODA:
encrypted = "" za message_index v razponu (0, len (sporočilo)):
če je sporočilo [message_index] == "":
šifrirano+= ""
za alphabet_index v razponu (0, len (novaAbeceda)):
če je sporočilo [message_index] == abeceda [alphabet_index]:
šifrirano+= novaAbeceda [abeceda_indeks]
tiskanje (šifrirano)
4. korak: Dodatno


Priložena je kodna datoteka.
Priporočena:
Skener QR kode z uporabo OpenCV v Pythonu: 7 korakov

Optični bralnik kod QR z uporabo OpenCV v Pythonu: V današnjem svetu vidimo, da se koda QR in črtna koda uporabljata skoraj povsod, od embalaže izdelkov do spletnih plačil, včasih pa tudi v restavracijah, da si ogledate meni. dvomim, da je to zdaj velika misel. A ste se kdaj vprašali
Opazovalnik vlažnosti in temperature z uporabo Raspberry Pi s SHT25 v Pythonu: 6 korakov

Opazovalnik vlažnosti in temperature z uporabo Raspberry Pi s SHT25 v Pythonu: Ker smo bili navdušeni nad Raspberry Pi, smo pomislili na nekaj spektakularnejših poskusov z njim. V tej kampanji bomo naredili opazovalnik vlažnosti in temperature, ki meri relativno vlažnost in temperaturo z uporabo Raspberry Pi in SHT25, vlaga
Tiskanje barvnega besedila v Pythonu brez modula: 3 koraki

Tiskanje barvnega besedila v Pythonu brez modula: Potem ko je bil moj drugi Instructable pomotoma izbrisan, sem se odločil za novega. V tem vam bom pokazal, kako natisniti barvno besedilo v pythonu
Kako narediti program numerične integracije v Pythonu: 10 korakov

Kako narediti program za numerično integracijo v Pythonu: To je vadnica o tem, kako ustvariti in zagnati program, ki bo ovrednotil določene integrale z uporabo algoritma za numerično integracijo. Korake sem razdelil v 3 razdelke: razumevanje algoritma, ki bo uporabljen za izdelavo programa, kodiranje
Zvočnik piramide Bill Cipher: 9 korakov (s slikami)

Bill Cipher Pyramid Speaker: Ta projekt je navdihnjen s piramidno zasnovo Billa Cipherja iz predstave Gravity Falls in je bil ustvarjen za oblikovalsko tehnologijo. Trenutno je izdelek nedokončan in služi kot proizvodni načrt. Stran bo posodobljena, ko bo produkcija