[Daqq tal-mużika] ZAMYLA Chan: Ejja jimplimentaw Vigenere, kemmxejn aktar jiżguraw cipher minn Caesar. It-test sempliċi hija enciphered tuża sensiela minflok ta 'numru sħiħ. Kull karattru alfabetiku test sempliċi tiġi mċaqilqa minn ittra fl-keyword. F'dan l-eżempju, l-keyword ohai, O jikkorrispondi għal ċaqliqa ta '14; H għal shift ta '7; A, bidla ta' 0; u I bidla tat-8. Jekk inti ħadthom implimentati b'suċċess tiegħek Caesar cipher, dan ser ikun sbieħ qafas minn fejn inti tista 'timplimenta Vigenere. Kif tistgħu taraw, tmexxija ta 'Vigenere cipher b'karattru wieħed bħala keyword huwa l-istess ħaġa bħala cipher Caesar. L-istess passi japplikaw Vigenere kif għamlet fil Caesar. Il-keyword huwa t-tieni linja tal-kmand argument, sabiex inti aċċess għaliha ma argv1. Imbagħad għandek bżonn biex jivverifikaw li ċ-ċavetta kelma hija tabilħaqq kollha alfabetiku. Hawnhekk huwa fejn huwa alpha jista 'jidħol fil handy. Jekk għandek keyword valida, ikollok l- saħħa mill-utent, u mbagħad int lest biex encipher. Il-formula cipher Vigenere huwa simili biex Caesar formula, ħlief issa k isir k kitba j, li jindika l-ittra j-th tal-keyword. Ejja pass permezz dan il-proċess. Tgħid li inti riedu li tibgħat messaġġ lill tiegħek crash, I bħalek, imma inti ma tixtieq kulħadd jaf. Allura inti tuża cipher Vigenere mal- panda keyword, għaliex, ukoll, inti ukoll simili pandas. L-ewwel ittra, I, ser jiġi mċaqlaq billi p, jagħtu x, 15-il ittra wara I, għaliex 15 p hija l-16 ta ' ittra tal-alfabett. L-ittra li jmiss fit-test sempliċi hija spazju, hekk li mhux se jiġi mċaqlaq. U l-indiċi ta 'l-keyword mhux se jinbidlu. Imbagħad l-ittra li jmiss fi kliem sempliċi hija l, qalbu minn, li ma tbiddilx l-ittra test sempliċi fil-livelli kollha, għaliex a hija l-ittra 0 tal-alfabett. Il-proċess ikompli, javvanza l- karattru keyword kull darba hemm ittra fit-test sempliċi. Ladarba l-aħħar ittra fil-keyword huwa jintlaħaq, l-keyword garżi madwar u Ċaqliq lejn pjanura li jmiss ittra test billi p. X lvne Noh. Kif romantic. Allura jingħata karattru, kif taħseb li jikkonvertu li fil-korrispondenti cipher shift? Ipprova tqabbel il-ASCII valuri għall-bidla. Forsi tista 'ssib relazzjoni bejn l-ittri u tagħhom Indiċi alfabetiku jużaw matematika ASCII. Inti tista 'żżid jew naqqas karattru wieħed minn ieħor biex jiksbu inti l-riżultat mixtieq? Ftakar li l-bidliet għall uppercase u zghar ittri huma l-istess. Allura forsi ikollok bzonn li tidentifika żewġ formuli simili biex jirrappreżentaw l- shift, wieħed għal uppercase karattru keyword, u wieħed għal waħda zghar. Sussegwentement, ftakar li l-avvanzi keyword biss jekk il-karattru test sempliċi hija ittra u li il-każ tal-pjanura test għandha tinżamm. Mela jekk inħarsu lejn il-formula għall- Shift Vigenere, hemm żewġ indiċi varjabbli, iuj. Wieħed iżomm rekord tal-pożizzjoni fil-pjanura test, u l-oħra l-pożizzjoni fil-keyword. Iżda test sempliċi tiegħek jista 'jkun ħafna itwal minn keyword tiegħek, f'liema każ tiegħek indiċi keyword jeħtieġ li around lura għall-bidu tal-keyword. Kif taħseb li tagħmel dan? Ejja nħarsu lura fil- operatur modulo. Modulo hija definita hija l-bqija ta 'diviżjoni żewġ numri. Imma x'hemm xi prattiku attwali użu ta 'modulo? Well, jgħidu għandek grupp kbir ta ' nies, u inti għandek bżonn jinqasmu tliet gruppi. Mod wieħed biex jaqsam nies fi gruppi huwa li jkollhom magħhom għadd off. Inti numru tal-grupp gruppi numru 1, 2, u 3. L-ewwel persuna se ngħid 1, l-2 li jmiss, il-3 li jmiss. Il-persuna wara li se ngħid 1, għaliex ma jkunx hemm grupp 4, u l- għadd jibda fuq minn hemm. Tista 'tuża modulo li jagħmlu l-istess ħaġa. Din id-darba, il-gruppi se jkun grupp 0, 1, u 2. L-ewwel persuna, in-numru 1 modulo 3, huwa 1. Persuna 2 modulo 3 huwa 2. Persuna 3 modulo 3 hija 0. Persuna 4 modulo 3 jagħti 1, u hekk il-gruppi jistgħu perimetrika. Mela jekk inti tieħu indiċi u modulo l-indiċi minn daqs massimu, l- riżultat qatt mhu se jkun akbar minn jew ugwali għad-daqs, li jfisser li inti jistgħu jżidu l-indiċi kif kemm inti tixtieq. U sakemm inti modulo-indiċi minn xi numru, inti mhux se tikseb numru akbar minn dik. Allura aħna għandna 10 persuna minflok 5, u dawn kollha jiksbu assenjat lil gruppi numru 0, 1, jew 2. Ipprova japplikaw dan tgeżwir fuq il- keyword, ħlief minflok ta 'għażla nies fis numri tal-grupp trid li l- indiċi tal-keyword sabiex inti tista ' jiksbu l-karattru dritt għall- bidla mingħajr ma jinqabeż il- tul tas-sekwenza. Ma 'dan, inti għandek tiegħek Vigenere cipher. Jisimni Zamyla, u dan huwa CS50.