1 00:00:00,000 --> 00:00:11,980 2 00:00:11,980 --> 00:00:16,980 >> ROB: Hi, jien Rob, u ejja jiddeċifraw il-programm Vigenere. 3 00:00:16,980 --> 00:00:21,180 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 4 00:00:21,180 --> 00:00:23,240 li fil-linja Kmand. 5 00:00:23,240 --> 00:00:28,720 Hekk jekk argc mhuwiex 2 li tfisser jew l-utent ma daħħalx il-string aħna 6 00:00:28,720 --> 00:00:31,780 tixtieq li tkun qed tuża bħala encrypting tagħna string, jew 7 00:00:31,780 --> 00:00:32,890 daħal affarijiet wisq. 8 00:00:32,890 --> 00:00:35,130 U aħna ma jafu x'għandhom jagħmlu ma 'dawk l-affarijiet oħra. 9 00:00:35,130 --> 00:00:37,960 >> Allura aħna jgħidulhom dak li għandhom ikunu daħlu. 10 00:00:37,960 --> 00:00:39,300 U nerġgħu lura. 11 00:00:39,300 --> 00:00:44,570 Issa, jekk wieħed jassumi li argc kien 2, nistgħu tkompli mal-bqija tal-programm. 12 00:00:44,570 --> 00:00:47,890 >> Aħna alias l-isem ta ARGV [1] 13 00:00:47,890 --> 00:00:49,750 fil-keyword varjabbli. 14 00:00:49,750 --> 00:00:51,860 Allura li aħna ma jkollhom tuża l-isem ARGV [1] 15 00:00:51,860 --> 00:00:53,050 matul il-bqija tal-programm. 16 00:00:53,050 --> 00:00:55,570 U forsi aħna ser tinsa dak dan ifisser u l-bqija. 17 00:00:55,570 --> 00:00:57,830 Keyword huwa isem ferm nicer. 18 00:00:57,830 --> 00:01:01,982 U aħna ser immedjatament grab-tul ta 'keyword tagħna dritt hawn. 19 00:01:01,982 --> 00:01:07,460 >> OK, hekk issa irridu li jivverifikaw li keyword tagħna huwa attwalment validu. 20 00:01:07,460 --> 00:01:11,250 Il-keyword nużaw biex kriptaġġ kordi Għandu jkun biss alfabetiku 21 00:01:11,250 --> 00:01:12,400 karattri. 22 00:01:12,400 --> 00:01:16,830 Jekk l-utent daħal non-alfabetika karattri, għandna ngħidu, keyword 23 00:01:16,830 --> 00:01:20,170 għandu jkun fiha biss A permezz Z u mbagħad jirritornaw. 24 00:01:20,170 --> 00:01:24,370 Allura dan għal ttenni loop fuq kollha karattri ta 'keyword tagħna, il-verifika 25 00:01:24,370 --> 00:01:31,870 li jekk wieħed ma jkunx alfabetiku allura għandna bżonn li jistampaw li twissija. 26 00:01:31,870 --> 00:01:36,285 >> Issa, ladarba irridu jiksbu dan il-punt, nafu li l-sekwenza għandha tkun korretta. 27 00:01:36,285 --> 00:01:38,230 Il-keyword għandha tkun korretta. 28 00:01:38,230 --> 00:01:40,880 U issa għandna bżonn li tikseb il-messaġġ mill- l-utent li jkunu jridu magħna biex 29 00:01:40,880 --> 00:01:43,910 kriptaġġ ma 'dik il-frażi importanti. 30 00:01:43,910 --> 00:01:46,780 Allura biex tikseb dak il-messaġġ, għandna tagħmel filwaqt loop li għaddej biex 31 00:01:46,780 --> 00:01:52,650 kontinwament jiksbu string mill-utent sakemm jidħol string valida. 32 00:01:52,650 --> 00:01:58,690 >> Kontinwa, naraw hawn dan il-varjabbli, int nun_letters_seen. 33 00:01:58,690 --> 00:02:01,300 Aħna ser tara għaliex għandna bżonn li fit-tieni. 34 00:02:01,300 --> 00:02:07,320 Iżda dan għal loop se jtenni minn i egwali għal 0 it-triq kollha sa i 35 00:02:07,320 --> 00:02:10,940 ugwali n, li jfisser aħna qed mtennija fuq kollha possibbli 36 00:02:10,940 --> 00:02:13,020 karattri fit-messaġġ tagħna. 37 00:02:13,020 --> 00:02:17,370 Għaliex irridu li kriptaġġ kollha il-karattri fit-messaġġ tagħna. 38 00:02:17,370 --> 00:02:22,970 Allura avviż nagħmlu jekk (isalphamessage [I], għaliex aħna ma rridux li kriptaġġ 39 00:02:22,970 --> 00:02:25,660 karattri li mhumiex alfabetiku. 40 00:02:25,660 --> 00:02:28,810 Jekk ikun hemm simboli, spazji, jew numri, aħna ma 41 00:02:28,810 --> 00:02:30,730 tixtieq li kriptaġġ dawk. 42 00:02:30,730 --> 00:02:37,220 >> Issa, jekk wieħed jassumi li huwa alfabetiku, aħna l-ewwel trid insemmu dak li aħna 43 00:02:37,220 --> 00:02:40,890 fil-fatt tixtieq li kriptaġġ il-messaġġ użu. 44 00:02:40,890 --> 00:02:42,710 Mela xi do I jfisser minn dak? 45 00:02:42,710 --> 00:02:46,740 >> Ejja nassumu li l-frażi importanti l-utent daħal kien abc. 46 00:02:46,740 --> 00:02:49,070 Dak hu li aħna qed jużaw għall-kriptaġġ. 47 00:02:49,070 --> 00:02:54,850 Issa, naively, naħsbu li jfisser li irridu kriptaġġ l-ewwel karattru 48 00:02:54,850 --> 00:02:59,740 tal-messaġġ tagħna minn 0, peress mezz ddawwar il-karattru ta '0. 49 00:02:59,740 --> 00:03:04,395 >> Aħna rridu li kriptaġġ-tieni karattru sa l-1, karattri terz minn 2, 50 00:03:04,395 --> 00:03:09,170 ir-raba 'karattru 0, il-ħames mill-1, is-sitt sat-2, u l-bqija. 51 00:03:09,170 --> 00:03:14,440 Imma ftakar, li rridu skip spazji u simboli u numri. 52 00:03:14,440 --> 00:03:21,520 Dan ifisser li jekk l-utent kienet daħlet bonjour dinja bħala l-messaġġ 53 00:03:21,520 --> 00:03:26,590 li jkunu jridu kriptaġġ, imbagħad irridu kriptaġġ l-h minn 0 54 00:03:26,590 --> 00:03:32,680 jikkorrispondi għall-a, l-e sal-1, il- l bi 2, ll 0, il-o sa l-1. 55 00:03:32,680 --> 00:03:41,050 Aħna rridu li skip-ispazju, encrypted lw bi 2, il-o 0, 1, 2, 0. 56 00:03:41,050 --> 00:03:45,250 Għalhekk avviż, jekk aħna ma tinqabeż il- ispazju, allura rridu naraw encrypted 57 00:03:45,250 --> 00:03:51,240 lw minn 0 u spiċċaw bi l-sekwenza korretta. 58 00:03:51,240 --> 00:03:57,470 >> OK, dan huwa dak li għandna bżonn l-varjabbli num_letters_seen għall. 59 00:03:57,470 --> 00:04:04,450 Jekk konna biss jmorru għall-kriptaġġ użu dan il-metodu, li ma skip 60 00:04:04,450 --> 00:04:09,860 simboli, spazji, u numri, allura aħna tista 'biss tuża l-varjabbli i bħala dak li 61 00:04:09,860 --> 00:04:12,540 indiċi fis frażi importanti tagħna ma. 62 00:04:12,540 --> 00:04:17,620 Jeħtiġilna nużaw num_letters_seen biex iżommu rekord tal-post attwali fil- 63 00:04:17,620 --> 00:04:21,146 frażi importanti li rridu indiċi. 64 00:04:21,146 --> 00:04:32,240 Allura hawnhekk, jekk il-keyword għandna, jekk num_letter_seen keyword_length mod, hekk 65 00:04:32,240 --> 00:04:34,570 għaliex għandna bżonn li MOD skond it-tul keyword? 66 00:04:34,570 --> 00:04:36,630 >> Well, bonjour dinja kien eżempju tajjeb. 67 00:04:36,630 --> 00:04:42,310 Jekk il-keyword kien abc, allura għandna bżonn li kontinwament kriptaġġ minn dakinhar b 68 00:04:42,310 --> 00:04:45,740 imbagħad c, allura wrap lura madwar, a, b, c, a, b, c. 69 00:04:45,740 --> 00:04:50,110 Għalhekk għandna bżonn li MOD skond it-tul keyword sabiex wrap lura madwar. 70 00:04:50,110 --> 00:04:57,280 >> Hekk jekk dan huwa ittra uppercase, imbagħad irridu kriptaġġ mill- 71 00:04:57,280 --> 00:05:01,450 pożizzjoni ta 'din l-ittra fl-alfabett, li nikbru bi ftit 72 00:05:01,450 --> 00:05:06,730 jitnaqqas l-kapital A. U istess mod, għall-ittri zghar, aħna 73 00:05:06,730 --> 00:05:13,000 jistgħu jiksbu l-ewlenin li rridu minn jitnaqqas out zghar a. 74 00:05:13,000 --> 00:05:16,910 Allura irrispettivament minn jekk l-ittra fil-frażi importanti kien il-kapital jew 75 00:05:16,910 --> 00:05:21,640 ittra zghar, aħna qed tmur biex kriptaġġ bl-istess ammont. 76 00:05:21,640 --> 00:05:28,680 >> Issa li għandna ewlenin tagħna, naraw hawn, li jekk il-messaġġ i huwa uppercase 77 00:05:28,680 --> 00:05:32,660 karattru, allura irridu li tikkalkula l- pożizzjoni fl-alfabett ta 'dak 78 00:05:32,660 --> 00:05:39,460 karattru, żid ewlenin tagħna miegħu, wrap lura madwar hekk li jekk aħna marru passat 79 00:05:39,460 --> 00:05:43,170 z immorru lura għal a, b, c, u l-bqija. 80 00:05:43,170 --> 00:05:49,070 Imbagħad, fl-aħħarnett, żid lura fuq il-kapital A. So aħna bidla lura fil-[? Ascii?] 81 00:05:49,070 --> 00:05:52,010 firxa ta 'dawn il-karattri minflok il- pożizzjoni numeriku fl-alfabett 82 00:05:52,010 --> 00:05:53,540 ta 'dawn il-karattri. 83 00:05:53,540 --> 00:05:56,610 >> U nagħmlu l-istess ħaġa għall- f'karattri aktar baxxi. 84 00:05:56,610 --> 00:06:00,070 Ħlief irridu li naqqas out zghar a u żid lura fuq fil- 85 00:06:00,070 --> 00:06:02,900 aħħar, zghar a. 86 00:06:02,900 --> 00:06:08,120 Avviż li num_letter_seen biss inkrementat jekk il-messaġġ kien i 87 00:06:08,120 --> 00:06:09,640 alfabetiku. 88 00:06:09,640 --> 00:06:15,790 Dan huwa kif aħna skip spazji, simboli, u numri fil-frażi importanti tagħna, minn 89 00:06:15,790 --> 00:06:20,520 num_letter_seen huwa dak li aħna qed tuża indiċi fis keyword tagħna. 90 00:06:20,520 --> 00:06:24,540 >> Fl-aħħarnett, fl-aħħar, issa dak il-messaġġ i kien encrypted, aħna 91 00:06:24,540 --> 00:06:26,280 jistampa messaġġ i. 92 00:06:26,280 --> 00:06:27,890 U thats it. 93 00:06:27,890 --> 00:06:28,670 Jisimni Rob. 94 00:06:28,670 --> 00:06:31,020 U dan huwa Vigenere. 95 00:06:31,020 --> 00:06:32,850 >> [Daqq tal-mużika] 96 00:06:32,850 --> 00:06:36,651