ROB: Hi, jien Rob, u ejja jiddeċifraw il-programm Vigenere. Allura l-ewwel ħaġa li għandna bżonn tagħmel hu li tagħmel żgur li l-utent daħal dak li aħna mistennija li fil-linja Kmand. Hekk jekk argc mhuwiex 2 li tfisser jew l-utent ma daħħalx il-string aħna tixtieq li tkun qed tuża bħala encrypting tagħna string, jew daħal affarijiet wisq. U aħna ma jafu x'għandhom jagħmlu ma 'dawk l-affarijiet oħra. Allura aħna jgħidulhom dak li għandhom ikunu daħlu. U nerġgħu lura. Issa, jekk wieħed jassumi li argc kien 2, nistgħu tkompli mal-bqija tal-programm. Aħna alias l-isem ta ARGV [1] fil-keyword varjabbli. Allura li aħna ma jkollhom tuża l-isem ARGV [1] matul il-bqija tal-programm. U forsi aħna ser tinsa dak dan ifisser u l-bqija. Keyword huwa isem ferm nicer. U aħna ser immedjatament grab-tul ta 'keyword tagħna dritt hawn. OK, hekk issa irridu li jivverifikaw li keyword tagħna huwa attwalment validu. Il-keyword nużaw biex kriptaġġ kordi Għandu jkun biss alfabetiku karattri. Jekk l-utent daħal non-alfabetika karattri, għandna ngħidu, keyword għandu jkun fiha biss A permezz Z u mbagħad jirritornaw. Allura dan għal ttenni loop fuq kollha karattri ta 'keyword tagħna, il-verifika li jekk wieħed ma jkunx alfabetiku allura għandna bżonn li jistampaw li twissija. Issa, ladarba irridu jiksbu dan il-punt, nafu li l-sekwenza għandha tkun korretta. Il-keyword għandha tkun korretta. U issa għandna bżonn li tikseb il-messaġġ mill- l-utent li jkunu jridu magħna biex kriptaġġ ma 'dik il-frażi importanti. Allura biex tikseb dak il-messaġġ, għandna tagħmel filwaqt loop li għaddej biex kontinwament jiksbu string mill-utent sakemm jidħol string valida. Kontinwa, naraw hawn dan il-varjabbli, int nun_letters_seen. Aħna ser tara għaliex għandna bżonn li fit-tieni. Iżda dan għal loop se jtenni minn i egwali għal 0 it-triq kollha sa i ugwali n, li jfisser aħna qed mtennija fuq kollha possibbli karattri fit-messaġġ tagħna. Għaliex irridu li kriptaġġ kollha il-karattri fit-messaġġ tagħna. Allura avviż nagħmlu jekk (isalphamessage [I], għaliex aħna ma rridux li kriptaġġ karattri li mhumiex alfabetiku. Jekk ikun hemm simboli, spazji, jew numri, aħna ma tixtieq li kriptaġġ dawk. Issa, jekk wieħed jassumi li huwa alfabetiku, aħna l-ewwel trid insemmu dak li aħna fil-fatt tixtieq li kriptaġġ il-messaġġ użu. Mela xi do I jfisser minn dak? Ejja nassumu li l-frażi importanti l-utent daħal kien abc. Dak hu li aħna qed jużaw għall-kriptaġġ. Issa, naively, naħsbu li jfisser li irridu kriptaġġ l-ewwel karattru tal-messaġġ tagħna minn 0, peress mezz ddawwar il-karattru ta '0. Aħna rridu li kriptaġġ-tieni karattru sa l-1, karattri terz minn 2, ir-raba 'karattru 0, il-ħames mill-1, is-sitt sat-2, u l-bqija. Imma ftakar, li rridu skip spazji u simboli u numri. Dan ifisser li jekk l-utent kienet daħlet bonjour dinja bħala l-messaġġ li jkunu jridu kriptaġġ, imbagħad irridu kriptaġġ l-h minn 0 jikkorrispondi għall-a, l-e sal-1, il- l bi 2, ll 0, il-o sa l-1. Aħna rridu li skip-ispazju, encrypted lw bi 2, il-o 0, 1, 2, 0. Għalhekk avviż, jekk aħna ma tinqabeż il- ispazju, allura rridu naraw encrypted lw minn 0 u spiċċaw bi l-sekwenza korretta. OK, dan huwa dak li għandna bżonn l-varjabbli num_letters_seen għall. Jekk konna biss jmorru għall-kriptaġġ użu dan il-metodu, li ma skip simboli, spazji, u numri, allura aħna tista 'biss tuża l-varjabbli i bħala dak li indiċi fis frażi importanti tagħna ma. Jeħtiġilna nużaw num_letters_seen biex iżommu rekord tal-post attwali fil- frażi importanti li rridu indiċi. Allura hawnhekk, jekk il-keyword għandna, jekk num_letter_seen keyword_length mod, hekk għaliex għandna bżonn li MOD skond it-tul keyword? Well, bonjour dinja kien eżempju tajjeb. Jekk il-keyword kien abc, allura għandna bżonn li kontinwament kriptaġġ minn dakinhar b imbagħad c, allura wrap lura madwar, a, b, c, a, b, c. Għalhekk għandna bżonn li MOD skond it-tul keyword sabiex wrap lura madwar. Hekk jekk dan huwa ittra uppercase, imbagħad irridu kriptaġġ mill- pożizzjoni ta 'din l-ittra fl-alfabett, li nikbru bi ftit jitnaqqas l-kapital A. U istess mod, għall-ittri zghar, aħna jistgħu jiksbu l-ewlenin li rridu minn jitnaqqas out zghar a. Allura irrispettivament minn jekk l-ittra fil-frażi importanti kien il-kapital jew ittra zghar, aħna qed tmur biex kriptaġġ bl-istess ammont. Issa li għandna ewlenin tagħna, naraw hawn, li jekk il-messaġġ i huwa uppercase karattru, allura irridu li tikkalkula l- pożizzjoni fl-alfabett ta 'dak karattru, żid ewlenin tagħna miegħu, wrap lura madwar hekk li jekk aħna marru passat z immorru lura għal a, b, c, u l-bqija. Imbagħad, fl-aħħarnett, żid lura fuq il-kapital A. So aħna bidla lura fil-[? Ascii?] firxa ta 'dawn il-karattri minflok il- pożizzjoni numeriku fl-alfabett ta 'dawn il-karattri. U nagħmlu l-istess ħaġa għall- f'karattri aktar baxxi. Ħlief irridu li naqqas out zghar a u żid lura fuq fil- aħħar, zghar a. Avviż li num_letter_seen biss inkrementat jekk il-messaġġ kien i alfabetiku. Dan huwa kif aħna skip spazji, simboli, u numri fil-frażi importanti tagħna, minn num_letter_seen huwa dak li aħna qed tuża indiċi fis keyword tagħna. Fl-aħħarnett, fl-aħħar, issa dak il-messaġġ i kien encrypted, aħna jistampa messaġġ i. U thats it. Jisimni Rob. U dan huwa Vigenere. [Daqq tal-mużika]