Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Pagdeklara ng Mga Variable at Pagkuha ng Mga Input
- Hakbang 2: Paglikha ng Bagong Alpabeto
- Hakbang 3: Paglilipat ng Mensahe
- Hakbang 4: Karagdagan
Video: Programang Caesar Cipher sa Python: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Ang Caesar Cipher ay isang sinaunang at malawakang ginagamit na cipher na madaling i-encrypt at i-decrypt. Gumagana ito sa pamamagitan ng paglilipat ng mga titik ng alpabeto upang lumikha ng isang bagong bagong alpabeto (maaaring ilipat ng ABCDEF ang higit sa 4 na titik at magiging EFGHIJ).
Ang Caesar Ciphers ay hindi ang pinaka-ligtas na mga cipher doon, ngunit mabuti para sa maliliit na gawain tulad ng pagpasa ng mga lihim na tala o paggawa ng mga password na medyo malakas. Napakadali na maintindihan ang code, ngunit maaaring nakakapagod na i-encrypt ang isa kung wala kang kabisadong espesyal na alpabeto.
Upang gawing mas madali ang prosesong ito, maaari naming gamitin ang lakas ng mga computer, mas partikular ang wika ng programa na Python.
Ipapakita sa iyo ng Instructable na ito kung paano lumikha ng isang programa na nagpapalit ng mga mensahe sa isang cipher sa iyong utos.
Mga gamit
Ang kailangan mo lang ay isang tagasalin ng Python: IDLE, Pycharm, at Thonny ay ilang magagaling, libreng mga pagpipilian (Ginamit ko ang Pycharm)
Pangunahing kaalaman sa Python
Hakbang 1: Pagdeklara ng Mga Variable at Pagkuha ng Mga Input
Upang maimbak talaga ang mga halaga ng string (teksto) ng alpabeto, mensahe, paglilipat, atbp. Kailangan nating gumamit ng mga variable. Nagsisimula kami sa pamamagitan ng pagdedeklara ng mga variable na 'alpabeto', 'bahagyangOne', 'bahagyangTwo', at 'bagongAlphabet'. Sinulat ko ang mga pangalan ng mga variable sa Camel Case sa aking code (ang unang salita ay maliit at pangalawang malalaki) ngunit maaari mo itong isulat sa anumang nais mo, hangga't naaalala mong palitan din ito sa natitirang code.. Ang variable ng alpabeto ay may halagang "abcdefghijklmnopqrstuvwxyz". Ang lahat ng iba pang mga variable ay nakatakda sa "", na kung saan ay isang walang laman na string dahil wala pa namin ang kanilang mga halaga.
Ang ginagawa nito ay ang pagse-set up ng Partial system, na kung saan ay ginagamit namin upang aktwal na lumikha ng shift. Ipapaliwanag ito sa susunod na hakbang.
Pagkatapos nito, kailangan nating makuha ang mensahe at ilipat ang halaga mula sa gumagamit. Ginagamit namin ang pag-andar ng input upang magawa ito. Ang bahaging ito ng code ay humihiling sa gumagamit ng isang mensahe at isang numero upang ilipat ang alpabeto.
CODE:
alpabeto = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partialTwo = ""
newAlphabet = ""
message = input ("Mangyaring ipasok ang mensahe na nais mong isalin:"). mas mababa ()
key = int (input ("Mangyaring ipasok ang numero na nais mong ilipat sa pamamagitan ng:"))
Hakbang 2: Paglikha ng Bagong Alpabeto
Ngayon upang likhain ang inilipat na alpabeto. Upang magawa ito, gagamitin namin ang bahagyang sistema. Ang bahagyang sistema ay kung saan nahahati ng computer ang alpabeto sa dalawang bahagyang (isang magarbong paraan ng pagsasabi ng mga bahagi). Ang unang bahagyang ay subalit mahaba sinabi mo sa programa na lumipat sa, at ang pangalawa ay ang natitira. Ang computer ay lumilipat ng mga bahagyang. Iyon mismo ang ginagawa ng code, kasama ang unang pahayag, na nagsasabing kung ang shift ay 0, ang bagong alpabeto at ang lumang alpabeto ay pareho dahil wala kang paglipat ng anuman.
Halimbawa:
Pagkakasunud-sunod - 123456789
Bahagyang Isa - 123; Bahagyang Bahagyang - 456789
Bagong Sequence - 456789123
CODE:
kung key == 0:
bagongAlphabet = alpabeto
elif key> 0:
partialOne = alpabeto [: key]
partialTwo = alpabeto [key:]
bagongAlphabet = bahagyang Dalawang + bahagyangOne
iba pa:
partialOne = alpabeto [:(26 + key)]
partialTwo = alpabeto [(26 + key):]
bagongAlphabet = bahagyang Dalawang + bahagyangOne
Hakbang 3: Paglilipat ng Mensahe
Ngayon mayroon kaming aming alpabeto at ang bagong alpabeto. Ang natitira lamang ay upang ilipat ang mensahe sa code.
Una, nagtakda kami ng isang bagong variable at tinawag itong 'naka-encrypt' at itinakda ito sa "". Pagkatapos ay nagsusulat kami ng isang talagang kumplikadong for-loop na susuriin ang bawat titik sa mensahe at ililipat ito sa bagong liham. Ito ay naglalabas ng resulta at mayroon ka nito, isang matagumpay na na-convert na code!
CODE:
naka-encrypt = "" para sa message_index sa saklaw (0, len (mensahe)):
kung mensahe [message_index] == "":
naka-encrypt + = ""
para sa alpabeto_index sa saklaw (0, len (bagongAlphabet)):
kung mensahe [message_index] == alpabeto [alpabeto_index]:
naka-encrypt + = bagongAlphabet [alpabeto_index]
print (naka-encrypt)
Hakbang 4: Karagdagan
Nakalakip ang code file.
Inirerekumendang:
Arduino: Mga Programang Oras at Remote Control Mula sa Android App: 7 Mga Hakbang (na may Mga Larawan)
Arduino: Mga Program sa Oras at Remote Control Mula sa Android App: Palagi kong naisip kung ano ang nangyayari sa lahat ng mga board ng Arduino na hindi kailangan ng mga tao matapos nilang matapos ang kanilang mga cool na proyekto. Ang katotohanan ay medyo nakakainis: wala. Naobserbahan ko ito sa bahay ng aking pamilya, kung saan sinubukan ng aking ama na magtayo ng kanyang sariling bahay
I-upgrade ang Iyong Paglunsad ng Space Sa Isang Button ng Physical Staging para sa Programang Kerbal Space: 6 na Hakbang
I-upgrade ang Iyong Paglunsad ng Space Sa Isang Button ng Physical Staging para sa Programang Kerbal Space: Kamakailan kong kinuha ang bersyon ng demo ng Kerbal Space Program. Ang Kerbal Space Program ay isang laro ng simulator na nagbibigay-daan sa iyo upang magdisenyo at maglunsad ng mga rocket at mag-navigate sa mga ito sa malalayong buwan at planeta. Sinusubukan ko pa ring matagumpay na mapunta sa buwan (o
Ang Programang Kotse ng ESP8266 ay Naka-Program sa Kotse ng ESP8266 Pangunahing: 18 Mga Hakbang (na may Mga Larawan)
Ang ESP8266 Robot Car Programmed With ESP8266 Basic: Ako ay isang guro sa agham sa gitnang paaralan at din ang Robotic Club Advisor. Naghahanap ako ng mas mabisang paraan upang magawa ang mga robot sa kamay ng aking mga mag-aaral. Sa mga mababang presyo ng mga board ng ESP8266, nagawa kong lumikha ng isang autonomous
Gumawa ng Iyong Sariling Mga Programang U3 Gamit ang Freeware: 5 Mga Hakbang
Gumawa ng Iyong Sariling Mga Programang U3 Gamit ang Freeware: Sa Instructable na ito ay magtatayo ng mga programang U3 gamit ang freeware program na Pabrika ng pakete sa pamamagitan ng eure.ca
Mga Programang Pang-utos: 4 na Hakbang
Mga Programang Pang-utos: Kumusta mga itinuturo-maniac. Sa itinuturo na ito, ipapakita ko sa iyo kung paano lumikha ng ilang mga program na prompt-prompt (Windows) at i-update ang mga ito. Ang mga programa ay malilikha sa command prompt at notepad. Ito ang aking unang itinuturo, humihingi ng paumanhin para sa anumang hindi ko naisulat