>> [Музички]
>> ZAMYLA CHAN: Ајде да се имплементираат Vigenere, малку повеќе
обезбеди шифра од Цезар.
На обичен текст е enciphered користење низа наместо на цел број.
Секој азбучен карактер во обичен текст е префрлена од
буква во збор.
>> Во овој пример, клучниот збор ohai, о одговара на промена на 14; H до
префрлат на 7; А, промена на 0; и јас промена на 8.
Ако сте успешно ја спроведе својата Цезар шифра, тоа ќе биде убаво
рамка, од кои може може да се спроведе Vigenere.
Како што можете да видите, водење на Vigenere шифра со еден карактер како
Клучниот збор е истото како шифра Цезар.
>> Истите чекори важат за Vigenere како што тоа го правеа во Цезар.
Клучниот збор е вториот командната линија аргумент, па можете да пристапите со argv1.
Тогаш ќе треба да потврди дека клучот зборот е всушност и сите азбучен.
Тука е местото каде што е алфа може да дојде во рака.
Ако имате валидна клучни зборови, ќе го добиете сила од страна на корисникот, а потоа
ќе бидете подготвени да написвам со Воице.
>> Шифра Vigenere формула е сличен за Цезар формула, освен сега к
станува к индекс ѕ, што укажува на J-та буква од клучни зборови.
Ајде да влезете низ овој процес.
Велат дека сака да испрати порака на вашата несреќата, јас ви се допаѓа, но вие не се
сакате сите да знаат.
Па можете да користите Vigenere шифра со клучен збор панда, бидејќи, сепак, можете, исто така
како панди.
>> На првата буква, јас ќе се префрли од страна на P, давајќи x, 15 писма, по што,
бидејќи 15 p е 16-ти буква од азбуката.
Следната буква во обичен текст е простор, така што нема да се префрли.
А индексот на клучниот збор нема да се промени.
>> Тогаш следната буква во обичен текст е л, се префрли од кои не се префрлува
на обичен текст писмо на сите, бидејќи a е 0. буква од азбуката.
Процесот продолжува, унапредување на клучни зборови карактер секој пат кога има некој
писмо во обичен текст.
Еднаш на последната буква клучниот збор е достигна, клучниот збор обвива околу и
поместувања на следното обичен текст писмо од стр.
X lvne noh.
Како романтичен.
>> Па со оглед на карактерот, како да конвертирате дека во соодветните
шифра промена?
Обидете се споредуваат со ASCII вредности на смена.
Можеби може да се најде врската помеѓу буквите и нивната
азбучен индекс користење на ASCII математика.
Можете да додадете или одземе еден карактер од друг за да се добие
можете саканиот резултат?
>> Се сеќавам дека смени за големи и мали букви се исти.
Па можеби ќе треба да се идентификуваат две слични формули за да ги претставуваат
смена, една за големи клучни зборови карактер, а една
за мали еден.
>> Следно, се сеќавам дека клучниот збор напредок само ако ликот во
обичен текст е писмо и дека случај на обична
Текстот мора да се сочуваат.
Значи, ако се погледне на формулата за Vigenere смена, постојат два индекс
променливи, i и j.
Еден следи на позицијата во обичен текст, а другата позиција
во клучен збор.
Но вашиот обичен текст може да биде многу подолг од вашите клучни зборови, во кој случај вашиот
клучни зборови индекс треба да заврши околу назад на почетокот на клучниот збор.
>> Како го правиш ова?
Ајде да се погледне назад на modulo оператор.
Modulo е дефиниран е остатокот на поделба на два броја.
Но она што е вистински практични користење на modulo?
>> Па, да речеме дека имате голема група на луѓе, а вие треба да се подели во
три групи.
Еден начин да се дели луѓето на групи е да се смета на нив надвор.
Можете број на групите група број 1, 2, и 3.
Првиот човек ќе каже 1, следните 2, во следните 3.
На лицето по што ќе каже 1, бидејќи таму не е група 4, и
брои почнува од таму.
>> Можете да го користите modulo да го прават истото.
Овој пат, групите ќе биде група 0, 1, и 2.
Првиот човек, број 1 modulo 3, е 1.
Лице 2 modulo 3 е на 2.
Лице 3 modulo 3 е 0.
Лице 4 modulo 3 дава 1, и така групите може да се заврши околу.
>> Па ако се земе индексот и modulo дека индекс со максимална големина,
Резултатот никогаш нема да биде поголема или еднаква на големината, што значи дека
може да ја зголеми индекс како колку што сакате.
И онолку долго колку што modulo индексот од некои број, нема да добиете голем број
поголеми од тоа.
Па ние имаме 10 луѓе, наместо на 5, и сите тие ќе се доделува на групи
број 0, 1, или 2.
>> Се обиде да ја применуваат оваа на завиткување во текот на клучни зборови, освен наместо на сортирање
луѓе во група броеви сакате индексот на клучни зборови, така што ќе може да
добие право карактер за префрлат, без пречекорување на
должината на стрингот.
Со тоа, имате Vigenere број.
Моето име е Zamyla, а тоа е CS50.