ROB: Tere, ma olen Rob ja olgem mõtestama Vigenere programm. Nii et esimene asi, mida me peame tegema, on teha kindel kasutaja sisestatud mida me ootasime neid, mida käsurea. Nii et kui argc ei ole 2, mis tähendab kas kasutaja ei sisesta string me tahad olla kasutades meie krüpteerimine string, või nad sisestatud liiga palju asju. Ja me ei tea, mida teha neid muid asju. Nii et me neile öelda, mida nad pidanud kandma. Ja me läheme tagasi. Nüüd, kui eeldada, et argc oli 2, saame jätkata ülejäänud programmi. Me alias nimi argv [1] varieeruva märksõna. Nii et me ei pea kasutada nimetust argv [1] kogu ülejäänud programmi. Ja võib-olla me unustada, mida see tähendab, ja nii edasi. Märksõna on palju ilusam nimi. Ja me kohe haarata pikkus meie märksõna siin. OK, nii et nüüd me tahame, et kontrollida Meie märksõna on tegelikult kehtiv. Märksõna me kasutame krüptida stringid peaks lihtsalt olema tähestikulises tähemärki. Kui kasutaja sisestatud mitte-tähestikulises tegelased, peaksime ütlema, märksõna peavad sisaldama ainult läbi Z ja seejärel tagasi. Nii et see loop kordab üle kõik tegelased meie märksõna, kontroll et kui üks ei ole tähestikulises seejärel meil on vaja printida, et hoiatus. Nüüd, kui me selle punkti, me teame, et string peab olema korrektne. Märksõna peab olema korrektne. Ja nüüd me peame sõnum kasutaja, et nad tahavad, et me krüptida, et oluline lause. Nii, et saada, et sõnum on meil tee samas silmus, mis läheb pidevalt saada string kasutaja kuni nad sisesta kehtiv string. Jätkuv näeme siin see muutuja, int nun_letters_seen. Me näeme, miks me peame et teine. Aga see eest loop läheb itereerima alates i võrdub 0 kogu tee kuni i võrdne n, mis tähendab, et me iterating üle kõik võimalik tegelased meie sõnum. Kuna me soovime krüpteerida kõik tegelased meie sõnum. Nii märkate me if (isalphamessage [I] sest me ei taha, et krüptida märke, mis ei tähestiku. Kui seal on sümbolid, ruumid, või numbrid, me ei pea soovite krüptida need. Nüüd, eeldades, et see on tähestikulises, kõigepealt on ju aru saada, mida me tegelikult soovite krüptida sõnumi. Niisiis, mida ma mõtlen, et? Oletame, et oluline lause kasutaja sisestatud oli abc. Seda me kasutame krüpteerimiseks. Nüüd naiivselt arvame, et tähendab, et tahame krüpteerimiseks esimene märk Meie sõnum 0, kuna vahenditega pöörleva sümbol 0. Me tahame, et krüptida teine ​​märk 1, kolmas märk 2, Neljas iseloomu 0, viienda 1, kuues 2, ja nii edasi. Kuid pidage meeles, et me tahame, et liikuda ruumide ja sümboleid ja numbreid. See tähendab, et kui kasutaja ei kandnud tere kui sõnum et nad tahavad varjata, siis soovime krüpteerida h by 0 vastab, e 1, l 2, l 0, o 1. Tahame vahele ruumi, krüpteeritud w on 2, o 0, 1, 2, 0. Nii teate, kui me poleks vahele ruumi, siis me oleks krüpteeritud w poolt 0 ja lõpetasin vale string. OK, see on see, mida meil on vaja muutuja num_letters_seen eest. Kui me lihtsalt läheb krüptida kasutades Selle meetodiga, mis ei jäta sümboleid, tühikuid ja numbrid, siis me võiks lihtsalt kasutada muutuja i nagu mis indeks meie võti fraas. Me peame kasutama num_letters_seen hoida track tegeliku koha oluline lause, et me tahame indeks. Nii siin, kui märksõna on meil, kui num_letter_seen mod keyword_length, nii miks me vajame mod märksõna pikkus? Noh, tere maailm oli hea näide. Kui märksõna oli abc, siis peame pidevalt krüptida poolt siis b siis c, siis murrab tagasi umbes, a, b, c, a, b, c. Seega peame mod märksõna pikkus et murrab tagasi umbes. Nii et kui see on suure tähega, siis me tahame krüptida poolt seisukohta, et tähestiku tähe, mis me saame lihtsalt lahutades välja kapital A. Ja Samamoodi väiketähti, me võib saada võti, et me tahame, mida lahutades välja väiketähti. Nii sõltumata kirjas aasta märksõnaks oli kapital või väiketäht, me läheme krüpteerimiseks sama summa võrra. Nüüd, kui meil on võti, näeme siin et kui sõnum i on suur- iseloomu, siis me tahame arvutada positsiooni tähestik et iseloomu, lisada meie võti see, wrap tagasi umbes nii, et kui me läksime mööda z läheme tagasi a, b, c, ja nii edasi. Siis lõpuks lisada tagasi kapitali A. Nii me minema tagasi [? Ascii?] vahemikus need märgid asemel numbriline positsioon tähestik need märgid. Ja me teeme sama asja väiketähed. Välja tahame lahutada välja väiketähti ja lisada selle tagasi sisse end, väiketähed. Pange tähele, et num_letter_seen on ainult suurendatakse, kui sõnum olin tähestiku. See, kuidas me vahele tühikuid, sümboleid ja numbrid meie märksõnaks, sest num_letter_seen mida me kasutame indeks meie märksõna. Lõpuks, lõpuks, nüüd, et sõnum i on krüpteeritud, me välja printida sõnum i. Ja ongi kõik. Minu nimi on Rob. Ja see on Vigenere. [Muusika mängib]