[Glazba svira] ZAMYLA Chan: Idemo provedbu Vigenere, nešto više šifriranja od Cezara. Običan tekst je enciphered pomoću string umjesto da cijeli broj. Svaki slovo u običan tekst se pomiče pismo u ključnoj riječi. U ovom primjeru, ključna ohai, O odgovara pomaku od 14, H pomak od 7, A, pomak 0, a ja pomak od 8.. Ako ste uspješno proveli svoje Cezarova šifra, to će biti lijepo okvir iz kojeg ste može provesti Vigenere. Kao što možete vidjeti, trčanje Vigenere šifriranja s jednim odlike Ključna riječ je ista stvar kao Cezarova šifra. Isti koraci odnose na Vigenere kao što su to učinili u Cezara. Ključna riječ je drugi naredbenog retka argument, tako da mu pristupiti s argv1. Zatim morate provjeriti da je ključ Riječ je doista sve po abecedi. Ovdje je gdje je alfa može doći u ruci. Ako imate valjanu ključne riječi, te dobiti Snaga od korisnika, a zatim spremni ste za kodirati. Formula Vigenere šifra je sličan caru formuli, osim sada k postaje k indeks j, što ukazuje j-ti pismo ključne riječi. Idemo korak po korak kroz ovaj proces. Recimo da je htjela poslati poruku na sudar, sviđaš mi se, ali ne želim da svi znaju. Dakle, koristite Vigenere šifru sa Ključna riječ panda, jer, dobro, također kao pande. Prvo slovo, ja ću biti pomaknut p, dajući x, 15 slova nakon što sam, jer 15 p je 16. slovo abecede. Sljedeće slovo u običan tekst je prostor, tako da neće biti pomaknut. I indeks ključnu riječ neće promijeniti. Onda sljedeće slovo u običan tekst je l, pomiče, koji ne odabire običan tekst pismo na sve, jer je je 0. slovo abecede. Proces se nastavlja, napreduje Ključna riječ lik svaki put postoji pismo u običan tekst. Nakon posljednje pismo u ključnu riječ dosegao, ključna omata i pomiče na sljedeću ravnici Tekst pismo p. X lvne Noh. Kako romantično. Dakle, s obzirom na karakter, kako se pretvoriti da je u odgovarajuće šifra pomak? Pokušajte uspoređujući ASCII vrijednosti na smjeni. Možda možete naći odnos između slova i njihovih Abecedno kazalo pomoću ASCII matematiku. Mogu li dodati ili oduzeti jedan znak od drugoga dobiti da željeni rezultat? Zapamtite da su pomaci za velika slova i mala slova su isti. Dakle, možda ćete morati identificirati dvije slične formule za zastupanje pomak, jedan za velika slova Ključna riječ karakter, a jedan za malim slovom jedan. Dalje, ne zaboravite da su ključne napredak samo ako lik u običan tekst je pismo i da Slučaj obični tekst mora biti očuvana. Dakle, ako pogledamo formule za Vigenere pomak, postoje dva indeksa varijabli, i i j. Jedna prati od položaja u ravnici tekst, a drugi položaj u ključnoj riječi. Ali vaš običan tekst može biti mnogo više samo ključne riječi, u kojem slučaju da vaš ključna indeksa treba zaokrenuti natrag na početak ključne riječi. Kako ste to učinili? Idemo se osvrnuti na modulo operatora. Modulu definiran je ostatak dijeljenja dva broja. No, ono što je stvarna praktična korištenje modulu? Pa, recimo da imate veliku skupinu ljudi, a vi trebate podijeliti u tri skupine. Jedan od načina da dijele ljude u dvije skupine je da ih brojati off. Ti broj s grupama skupinu broj 1, 2, i 3. Prva osoba koja će reći: 1, Sljedeći 2, 3 Sljedeća. Osoba nakon toga će reći: 1, jer ne postoji skupina 4, a Brojač počinje od tamo. Možete koristiti modulo se napraviti istu stvar. Ovaj put, skupine koje će se biti skupina 0, 1 i 2. Prva osoba, broj 1 modulo 3, 1. Osoba 2 modulu 3 je 2. Osoba 3 modulu 3 je 0. Osoba 4 modulo 3 daje jedan, i tako skupine mogu zaokrenuti. Dakle, ako se uzme indeks i modulu taj je indeks od maksimalne veličine, rezultat nikada neće biti veći ili jednake veličine, što znači da može povećati indeks koliko god želite. I koliko god modulu je indeks Neki broj, nećete dobiti broj veći od toga. Dakle, imamo 10 ljudi, umjesto pet, a svi oni će se dodijeliti grupama broj 0, 1, ili 2. Pokušajte primijeniti to zamatanje tijekom ključne riječi, osim umjesto sortiranja Skupina ljudi u što želite Indeks ključne riječi, tako da možete dobili pravi karakter za pomaknuti bez prekoračenja Duljina niza. Uz to, imate svoje Vigenere šifra. Moje ime je Zamyla, a to je CS50.