Turinys:
- Prekės
- 1 žingsnis: kintamųjų deklaravimas ir įvesties gavimas
- 2 žingsnis: naujos abėcėlės kūrimas
- 3 žingsnis: perkelkite pranešimą
- 4 žingsnis: papildomas
Video: Cezario šifravimo programa „Python“: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Cezario šiferis yra senas ir plačiai naudojamas šifras, kurį lengva užšifruoti ir iššifruoti. Jis veikia perkeliant abėcėlės raides, kad būtų sukurta visiškai nauja abėcėlė (ABCDEF galėtų perkelti daugiau nei 4 raides ir taptų EFGHIJ).
„Cezario šifrai“nėra patys saugiausi šifrai, tačiau jie tinka mažoms užduotims, tokioms kaip slaptų užrašų perdavimas ar slaptažodžių stiprinimas. Iššifruoti kodą tikrai lengva, tačiau gali būti nuobodu jį užšifruoti, jei neturite įsimintos specialios abėcėlės.
Norėdami palengvinti šį procesą, galime naudoti kompiuterių, tiksliau programavimo kalbos „Python“, galią.
Ši instrukcija parodys, kaip sukurti programą, kuri jūsų komandai paverčia pranešimus į šifrą.
Prekės
Viskas, ko jums reikia, yra „Python“vertėjas: „IDLE“, „Pycharm“ir „Thonny“yra keletas gerų, nemokamų parinkčių (aš naudojau „Pycharm“)
Pagrindinės žinios apie „Python“
1 žingsnis: kintamųjų deklaravimas ir įvesties gavimas
Norėdami iš tikrųjų išsaugoti abėcėlės, pranešimo, poslinkio ir tt eilutės (teksto) reikšmes, turime naudoti kintamuosius. Pradedame skelbdami kintamuosius „alfabetas“, „dalinis vienas“, „dalinis du“ir „naujas abėcėlė“. Kodelyje „Camel Case“kintamųjų pavadinimus įrašiau į savo kodą (pirmasis žodis yra mažosios ir antrosios didžiosios), bet jūs galite jį parašyti, kaip norite, jei tik nepamiršite jį pakeisti ir likusioje kodo dalyje. Abėcėlės kintamasis turi reikšmę „abcdefghijklmnopqrstuvwxyz“. Visi kiti kintamieji yra nustatyti į „“, kuri yra tuščia eilutė, nes mes dar neturime jų reikšmių.
Tai sukuria dalinę sistemą, kurią mes naudojame, kad iš tikrųjų sukurtume pamainą. Tai bus paaiškinta vėliau.
Po to mes turime gauti pranešimą ir perkelti vertę iš vartotojo. Tam naudojame įvesties funkciją. Šioje kodo dalyje vartotojas prašo pranešimo ir skaičiaus, kad pakeistų abėcėlę.
KODAS:
abėcėlė = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partTwo = ""
newAlphabet = ""
message = input ("Įveskite pranešimą, kurį norite išversti:").lower ()
raktas = int (įvestis ("Įveskite skaičių, kuriuo norite perkelti:"))
2 žingsnis: naujos abėcėlės kūrimas
Dabar sukurkite pakeistą abėcėlę. Norėdami tai padaryti, mes naudosime dalinę sistemą. Dalinė sistema yra ta, kurioje kompiuteris padalija abėcėlę į dvi dalis (išgalvotas būdas pasakyti dalis). Tačiau pirmoji dalis yra ilga, kai liepėte programai pereiti, o antroji - likusi. Kompiuteris perjungia dalis. Būtent tai daro kodas, kartu su pirmuoju teiginiu, kuriame teigiama, kad jei poslinkis yra 0, nauja abėcėlė ir senoji abėcėlė yra tos pačios, nes nieko nekeičiate.
Pavyzdžiui:
Seka - 123456789
Dalinis vienas - 123; Antroji dalis - 456789
Nauja seka - 456789123
KODAS:
jei raktas == 0:
newAlphabet = abėcėlė
elif raktas> 0:
partialOne = abėcėlė [: raktas]
partTwo = abėcėlė [raktas:]
newAlphabet = dalinisDvi + dalinisVienas
Kitas:
partialOne = abėcėlė [:(26 + klavišas]
partialTwo = abėcėlė [(26 + klavišas):]
newAlphabet = dalinisDvi + dalinisVienas
3 žingsnis: perkelkite pranešimą
Dabar turime savo abėcėlę ir naują abėcėlę. Liko tik perjungti pranešimą į kodą.
Pirmiausia nustatome naują kintamąjį, pavadiname jį „užšifruotu“ir nustatome į „“. Tada parašome tikrai sudėtingą for-loop, kuris patikrina kiekvieną pranešimo raidę ir perjungia ją į naują raidę. Jis pateikia rezultatą ir jūs turite jį, sėkmingai konvertuotą kodą!
KODAS:
encrypted = "" message_index diapazone (0, len (žinutė)):
jei pranešimas [message_index] == "":
užšifruotas+= ""
alphabet_index diapazone (0, len (newAlphabet)):
jei pranešimas [pranešimo_indeksas] == abėcėlė [abėcėlės_indeksas]:
šifruotas+= naujasAlfabetas [abėcėlės_indeksas]
spausdinti (užšifruota)
4 žingsnis: papildomas
Pridedamas kodo failas.
Rekomenduojamas:
XRP šifravimo žymeklis naudojant HTTPS URL: 3 žingsniai
XRP kriptografinis žymeklis naudojant HTTPS URL: Atrodė, kad trūksta paprastų veikiančių kriptografinių žymeklių, kai kurie iš jų buvo išjungti dėl susietos API, o kiti - dėl kodo ar priklausomų bibliotekų problemų. Dauguma žymeklių čia yra „Instructables“yra orientuoti į USD ir Bitcoin, bet
Sukurkite paprastą pranešimų šifravimo/iššifravimo įrenginį naudodami užrašų knygelę: 5 žingsniai
Sukurkite paprastą pranešimų šifravimo/iššifravimo įrenginį naudodami užrašų knygelę: Sveiki, naudodami šią paprastą HTML programą galite užšifruoti ir iššifruoti savo pranešimą slaptažodžiu. Pirmiausia aš jums parodysiu, kaip jį sukurti, o tada parodysiu, kaip jį naudoti. Pradėkime
„Python“saugumo šifravimo/iššifravimo programinė įranga: 3 veiksmai
„Python“saugos šifravimo/iššifravimo programinė įranga: šioje instrukcijoje aš jums parodysiu, kaip naudojant paprastą „Python“galite apsaugoti failus naudodami pramonės standartą AES. Reikalavimai:- „Python 3.7“- „PyAesCrypt“biblioteka- „hashlib“biblioteka Jei neturite šių bibliotekų, galima lengvai įdiegti
„Trezor“šifravimo aparatinės piniginės kūrimas: 5 žingsniai (su nuotraukomis)
Savo „Trezor“kriptovaliutos aparatinės piniginės kūrimas: Šiame projekte aš gaminu savo „Trezor“kriptovaliutos aparatinės įrangos piniginę su korpusu. Tai įmanoma, nes „Trezor“yra atvirojo kodo, todėl aš panaudojau jų pateiktus failus savo „github“kurdamas savo įrenginį už mažiau nei 40 USD. Buvo keletas
Slaptažodis USB diskui be šifravimo naudojant paketinį failą: 8 žingsniai
Slaptažodis USB diskui be šifravimo naudojant paketinį failą: programa, kuri neleis vartotojui įvesti disko be slaptažodžio ir parodys savininko failą, kurį galite pakeisti savo noru, tai parodys, kaip lengvai naudotis sukurta programa