[Tónlist spila] ZAMYLA CHAN: skulum framkvæma Vigenere, örlítið meira tryggja dulmál en keisaranum. The látlaus texti er enciphered nota a band stað heiltala. Hver bókstaf í látlaus texti er hliðrað um að bréf í leitarorði. Í þessu dæmi, leitarorðið ohai, O samsvarar færslunni 14, H til A skipta um 7, A, breyting á 0, og ég breyting á 8.. Ef þú hefur góðum árangri þínum Caesar dulmál, það verður gaman ramma sem þú geta framkvæma Vigenere. Eins og þú geta sjá, keyra Vigenere dulmál með einum staf sem er Leitarorðið er það sama sem Caesar dulmál. Sömu skref um Vigenere eins og þeir gerðu í keisaranum. Leitarorðið er önnur stjórn lína rök, svo þú nálgast það með argv1. Síðan sem þú þarft að staðfesta að lykillinn orð er örugglega allt stafrófsröð. Hér er þar sem er alfa getur komið sér vel. Ef þú ert með gilt leitarorð, fá þér strength frá notanda, og þá þú ert tilbúinn til encipher. The Vigenere dulmál uppskrift er svipuð keisaranum formúlu, nema nú K verður K Niðurskrifað J, sem gefur til kynna J-th stafur leitarorð. Skulum stíga í gegnum þetta ferli. Segjum að þú vildir senda skilaboð til þín hrun, eins og ég þig, en þú hefur ekki vilja allir að vita. Svo þú notar Vigenere dulmál með því leitarorð Panda, því vel, þú líka eins Pandas. Fyrsti stafurinn,, mun ég að færst af p, sem gefur x, 15 bréf eftir I, vegna þess að 15 p er 16 stafina í stafrófinu. Næsti stafur í texta er rými, svo sem mun ekki færst. Og vísitölu leitarorð mun ekki breytast. Þá er næsti stafur í texta l færst með því að a, sem ekki skipta látlaus texti bréf á alla, vegna þess að a er 0 bókstaf. Ferlið heldur áfram, efla leitarorð eðli hvert skipti sem það er bréf í látlaus texti. Þegar síðasta bréf í leitarorð er náð, leitarorðið hula í kring og vaktir á næsta látlaus texti bréf af p. X lvne NOH. Hvernig rómantísk. Svo gefið staf, hvernig breyta þér að í samsvarandi dulmál vakt? Prófaðu að bera saman ASCII gildi til vakt. Kannski þú getur fundið tengsl milli bókstafa og þeirra stafrófsröð nota ASCII stærðfræði. Getur þú bæta við eða draga einn staf frá öðru til að fá þú tilætluðum árangri? Mundu að vaktir fyrir hástafi og lágstöfum eru þau sömu. Svo kannski þú þarft að finna tvo svipaðar formúlur til að tákna breyting, einn fyrir hástafi leitarorð eðli, og ein fyrir lágstafir einn. Næst skaltu muna að leitarorðið framfarir aðeins ef eðli á látlaus texti er bréf og að ræða á sléttunni texti verður að varðveita. Þannig að ef við lítum á formúluna fyrir að Vigenere vakt, það eru tveir vísitölu breytur, i og j. Einn heldur utan um stöðu í látlaus texta, og hins vegar um stöðu í leitarorði. En látlaus texti getur verið miklu lengur en leitarorðið, þar sem mál þitt leitarorð vísitölu þarf að vefja í kringum baka að í upphafi leitarorð. Hvernig gerir þú þetta? Við skulum líta aftur á modulo rekstraraðila. Modulo er skilgreint er afgangurinn að deila tvær tölur. En hvað er í raun hagnýt notkun modulo? Jæja, segjum að þú ert með stóran hóp fólk, og þú þarft að skipta í þrír hópar. Ein leið til að skipta fólki í hópa er að hafa þá telja burt. Þú tala hóparnir hópinn númer 1, 2, og 3. Fyrsta manneskjan mun segja 1, næsta 2, the next 3. Sá eftir það er að segja 1, vegna þess að það er ekki í hóp á 4, og telja byrjar á þaðan. Þú getur notað modulo til gera það sama. Í þetta sinn, hóparnir munu vera hópur 0, 1, og 2. Fyrsta manneskjan, fjöldi 1 modulo 3, er 1. Maður 2 modulo 3 er 2.. Person 3 modulo 3 er 0. Manneskja 4 modulo 3 gefur 1, og svo hóparnir geta sett í kring. Svo ef þú tekur vísitölu og modulo að vísitalan um hámarks stærð, Niðurstaðan verður aldrei meiri en eða jafn stærð, þ.e. hann getur aukið vísitölu sem mikið og þú vilt. Og svo lengi sem þú modulo vísitölunnar sumir tala, munt þú ekki fá númer stærri en það. Þannig að við höfum 10 manns í stað 5, og þeir myndu allir fá úthlutað til hópa númer 0, 1, eða 2. Prófaðu að sækja um þetta til að umbúðir yfir leitarorð, nema í stað þess að flokka fólk inn númer sem þú vilt að Vísitala leitarorð, þannig að þú getur fá rétt staf fyrir skipta án þess að farið er lengd strengsins. Með þessi, hefur þú þinn Vigenere dulmál. Mitt nafn er Zamyla, og þetta er CS50.