[Reproducció de música] ZAMYLA CHAN: Posarem en pràctica Vigenère, una mica més assegurar xifra del Cèsar. El text es xifra usant una cadena en lloc d'un nombre enter. Cada lletra de l'alfabet en text sense format es desplaça per una lletra en la paraula clau. En aquest exemple, la paraula clau ohai, O correspon a un desplaçament de 14, H a una canviar de 7; A, torn d' 0, i un desplaçament de 8. Si ha implementat amb èxit la seva Xifrat César, serà un bon marc des del qual es pot implementar Vigenère. Com podeu veure, córrer un Vigenère xifrat amb un caràcter individual com paraula clau és el mateix com un sistema de xifrat César. Els mateixos passos s'apliquen a Vigenère com ho van fer en Cèsar. La paraula clau és la segona línia d'ordres argument, per la qual cosa s'accedeix amb argv1. Després cal verificar que la clau paraula és veritat tot alfabètic. Aquí és on alpha pot ser útil. Si vostè té una paraula clau vàlida, s'obté la la força per part de l'usuari i, a continuació, vostè està preparat per xifrar. La fórmula xifrat Vigenère és similar al Cèsar fórmula, excepte que ara k k esdevé subíndex j, el que indica la j-èsima lletra de la paraula clau. Donem un pas a través d'aquest procés. Diguem que vostè vol enviar un missatge a la accident, m'agrades, però no ho faig vull que tots sàpiguen. Així que utilitza un xifrat de Vigenère amb el colla de paraules clau, perquè, bé, també com pandes. La primera carta, jo, es desplaçarà per p, donant x, 15 cartes després que jo, perquè 15 p és el 16 lletra de l'alfabet. La següent lletra del text és un espai, pel que no es va moure. I l'índex de la paraula clau no canviarà. A continuació, la següent lletra en text pla és l, desplaçat per una, que no es desplaça la lletra de text sense format en absolut, perquè a és la lletra de l'alfabet 0 ª. El procés continua, l'avanç de la personatge clau cada vegada que hi ha un lletra en el text sense format. Una vegada que l'última lletra de la paraula clau és aconseguir, la paraula clau s'embolica al voltant de i es desplaça a la següent plana text lletra per p. X lvne noh. Què romàntic. Així que donat un caràcter, com convertir que en el corresponent xifrar torn? Intenta comparar l'ASCII Els valors per al canvi. Potser vostè pot trobar una relació entre les lletres i els seus Índex alfabètic usant matemàtiques ASCII. Es pot afegir o restar un caràcter d'un altre per obtenir que el resultat desitjat? Recordeu que els canvis de majúscules i minúscules són iguals. Així que potser haurà d'identificar a dos fórmules similars per representar la canvi, un per a una majúscula caràcter de paraula clau, i un d'un en minúscula. A continuació, recorda que la paraula clau avenços només si el caràcter en text és una carta i que el cas de la plana text ha de ser preservada. Així que si ens fixem en la fórmula per al Vigenère canvi, hi ha dos índex variables i i j. Es realitza un seguiment de la posició en la plana text, i l'altra la posició en la paraula clau. Però el text pot ser molt més llarg que la seva paraula clau, en aquest cas el índex de paraules clau ha d'embolicar al voltant de l'esquena per al començament de la paraula clau. Com fer això? Anem a mirar cap enrere en el operador mòdul. Mòdul es defineix és la resta de dividir dos nombres. Però el que és una pràctica real l'ús de mòdul? Bé, diguem que té un gran grup de persones, i cal dividir en tres grups. Una manera de dividir la gent en grups és fer que compti. Vostè número del grup de grups número 1, 2, i 3. La primera persona que dirà 1, la propera 2, la següent 3. La persona després que digui 1, perquè no és un grup 4, i el recompte comença de nou des d'allà. Vostè pot utilitzar mòdul de fer el mateix. Aquesta vegada, els grups ser el grup 0, 1, i 2. La primera persona, el nombre 1 modul 3, 1. Persona 2 mòdul 3 és 2. Persona 3 mòdul 3 és 0. Persona 4 mòdul 3 dóna 1, i així els grups poden embolicar al voltant. Així que si vostè pren un índex i el mòdul dit índex per una mida màxima, la resultat mai serà més gran que o igual a la grandària, el que significa que pot augmentar l'índex com tot el que volgués. I mentre que l'índex de mòdul per un nombre, vostè no aconseguirà un nombre més gran que això. Així que tenim 10 persones en lloc de 5, i tots ells se'ls assigna als grups número 0, 1, o 2. Intenta aplicar això a embolicar el paraula clau, excepte que en lloc de classificar la gent en nombres de grup que desitja que el Índex de la paraula clau, perquè pugui obtenir el caràcter adequat per a la canviar sense excedir l' longitud de la cadena. Amb això, vostè té el seu Vigenère. El meu nom és Zamyla, i això és CS50.