Orodha ya maudhui:

Mpango wa Kaisari Cipher katika Python: Hatua 4
Mpango wa Kaisari Cipher katika Python: Hatua 4

Video: Mpango wa Kaisari Cipher katika Python: Hatua 4

Video: Mpango wa Kaisari Cipher katika Python: Hatua 4
Video: TUDev's Cryptography with Python Workshop! Creating a Substitution Cipher (Caesar Cipher) 2024, Novemba
Anonim
Mpango wa Kaisari Cipher huko Python
Mpango wa Kaisari Cipher huko Python

Cipher ya Kaisari ni cipher ya zamani na inayotumiwa sana ambayo ni rahisi kusimba na kusimbua. Inafanya kazi kwa kubadilisha herufi za alfabeti ili kuunda alfabeti mpya kabisa (ABCDEF inaweza kuhama zaidi ya herufi 4 na itakuwa EFGHIJ).

Kaisari Cipher sio salama salama zaidi huko nje lakini ni nzuri kwa kazi ndogo kama vile kupitisha noti za siri au kutengeneza nywila kuwa na nguvu kidogo. Ni rahisi sana kufafanua nambari hiyo, lakini inaweza kuwa ngumu kusimba moja ikiwa huna alfabeti maalum iliyokariri.

Ili kurahisisha mchakato huu, tunaweza kutumia nguvu za kompyuta, haswa lugha ya programu ya Python.

Agizo hili litaonyesha jinsi ya kuunda programu ambayo inabadilisha ujumbe kuwa cipher kwa amri yako.

Vifaa

Unachohitaji ni mkalimani wa chatu: IDLE, Pycharm, na Thonny ni chaguo nzuri, za bure (nilitumia Pycharm)

Ujuzi wa kimsingi wa chatu

Hatua ya 1: Kutangaza Vigeugeu na Kupata Pembejeo

Kutangaza Vigeugeu na Kupata Pembejeo
Kutangaza Vigeugeu na Kupata Pembejeo

Kwa kweli kuhifadhi kamba (maandishi) ya alfabeti, ujumbe, kuhama, n.k tunahitaji kutumia vigeuzi. Tunaanza kwa kutangaza vigeuzi 'alfabeti', 'sehemuOne', 'sehemuTwo', na 'Alfabeti mpya'. Nimeandika majina ya vigeuzi katika Uchunguzi wa ngamia katika nambari yangu (neno la kwanza ni herufi ndogo na herufi kubwa ya pili) lakini unaweza kuiandika kwa njia yoyote utakayo, mradi ukumbuke kuibadilisha katika nambari yote pia. Tofauti ya alfabeti ina thamani "abcdefghijklmnopqrstuvwxyz". Vigeugeu vingine vyote vimewekwa kwa "", ambayo ni kamba tupu kwani bado hatuna maadili yao.

Kile kinachofanya ni kuanzisha mfumo wa Sehemu, ambayo ndio tunayotumia kuunda mabadiliko. Hii itaelezewa katika hatua ya baadaye.

Baada ya hii, tunapaswa kupata ujumbe na kubadilisha thamani kutoka kwa mtumiaji. Tunatumia kazi ya kuingiza kufanya hivyo. Sehemu hii ya nambari inamuuliza mtumiaji ujumbe na nambari ya kuhamisha herufi na.

CODE:

alfabeti = "abcdefghijklmnopqrstuvwxyz"

sehemuOne = ""

sehemuTwo = ""

Alfabeti mpya = ""

message = input ("Tafadhali ingiza ujumbe unayotaka kutafsiri:"). chini ()

key = int (ingiza ("Tafadhali ingiza nambari unayotaka kuhama kwa:"))

Hatua ya 2: Kuunda Alfabeti Mpya

Kuunda Alfabeti Mpya
Kuunda Alfabeti Mpya

Sasa kuunda alfabeti iliyohamishwa. Ili kufanya hivyo, tutatumia mfumo wa sehemu. Mfumo wa sehemu ni mahali ambapo kompyuta hugawanya alfabeti katika sehemu mbili (njia nzuri ya kusema sehemu). Sehemu ya kwanza ni ndefu hata kidogo uliiambia programu iende mbele, na ya pili ni salio. Kompyuta hubadilisha sehemu. Hiyo ndiyo hasa nambari inafanya, pamoja na taarifa ya kwanza, ambayo inasema kwamba ikiwa mabadiliko ni 0, alfabeti mpya na alfabeti ya zamani ni sawa kwani haubadilishi chochote.

Kwa mfano:

Mlolongo - 123456789

Sehemu ya kwanza - 123; Sehemu mbili - 456789

Mlolongo mpya - 456789123

CODE:

ikiwa ufunguo == 0:

Alfabeti mpya = alfabeti

ufunguo wa elif> 0:

sehemuOne = alfabeti [: ufunguo]

sehemuTwo = herufi [ufunguo:]

Alfabeti mpya = sehemuThauri mbili + sehemuOne

mwingine:

sehemuOne = alfabeti [: (26 + muhimu)]

sehemuTwo = alfabeti [(ufunguo 26 +):]

Alfabeti mpya = sehemuThauri mbili + sehemuOne

Hatua ya 3: Kuhamisha Ujumbe

Kuhamisha Ujumbe
Kuhamisha Ujumbe

Sasa tuna alfabeti yetu na alfabeti mpya. Kilichobaki ni kubadili ujumbe kuwa msimbo.

Kwanza, tunaweka tofauti mpya na kuiita 'encrypted' na kuiweka "". Halafu tunaandika kitanzi ngumu sana ambacho huangalia kila herufi kwenye ujumbe na kuibadilisha kuwa barua mpya. Inatoa matokeo na hapo unayo, nambari iliyobadilishwa kwa mafanikio!

CODE:

encrypted = "" kwa ujumbe_index katika masafa (0, len (ujumbe)):

ikiwa ujumbe [message_index] == "":

fiche + = ""

kwa alfabeti_index katika anuwai (0, len (Alfabeti mpya)):

ikiwa ujumbe [message_index] == alfabeti [alfabeti_index]:

encrypted + = herufi mpya [alfabeti_index]

chapisha (fiche)

Hatua ya 4: Ziada

Ziada
Ziada
Ziada
Ziada

Imeambatanishwa na faili ya nambari.

Ilipendekeza: