1 00:00:00,000 --> 00:00:11,980 2 00:00:11,980 --> 00:00:16,980 >> ROB : 안녕, 난 롭 해요, 그리고의 해독하자 Vigenere 프로그램. 3 00:00:16,980 --> 00:00:21,180 우리가해야 할 그래서 먼저 확인합니다 확인 사용자는 우리가 기대했던 입력 4 00:00:21,180 --> 00:00:23,240 그 명령 라인에. 5 00:00:23,240 --> 00:00:28,720 ARGC 2없는 경우 그래서 그 중 하나가 의미 사용자가 문자열 우리를 입력하지 않았습니다 6 00:00:28,720 --> 00:00:31,780 우리의 암호화로 사용되도록하려면 문자열, 또는 그들이 7 00:00:31,780 --> 00:00:32,890 너무 많은 일을 입력. 8 00:00:32,890 --> 00:00:35,130 그리고 우리는 무엇을 해야할지 모르겠어요 그 다른 것들과. 9 00:00:35,130 --> 00:00:37,960 >> 그래서 우리는 그들에게 그들이 입력해야합니다. 10 00:00:37,960 --> 00:00:39,300 그리고 우리는 돌아갑니다. 11 00:00:39,300 --> 00:00:44,570 지금, 우리가 할 수있는, ARGC 2라고 가정 프로그램의 나머지 부분을 계속합니다. 12 00:00:44,570 --> 00:00:47,890 >> 우리는 [1] ARGV의 이름을 별칭 13 00:00:47,890 --> 00:00:49,750 변수 키워드에. 14 00:00:49,750 --> 00:00:51,860 우리가 할 필요가 없도록 [1] 이름 ARGV를 사용 15 00:00:51,860 --> 00:00:53,050 프로그램의 나머지. 16 00:00:53,050 --> 00:00:55,570 그리고 어쩌면 우리는 잊을거야 무엇 그 등을 의미합니다. 17 00:00:55,570 --> 00:00:57,830 키워드는 훨씬 더 멋진 이름입니다. 18 00:00:57,830 --> 00:01:01,982 그리고 우리는 바로 길이를 갖다 줄게 바로 여기에 우리의 키워드. 19 00:01:01,982 --> 00:01:07,460 >> OK, 이제 우리는 그것을 확인하려면 우리의 키워드는 실제로 유효합니다. 20 00:01:07,460 --> 00:01:11,250 우리는 문자열을 암호화하는 데 사용하는 키워드 그냥 알파벳해야 21 00:01:11,250 --> 00:01:12,400 문자. 22 00:01:12,400 --> 00:01:16,830 사용자는 알파벳 이외의 입력 한 경우 자, 우리가 말을해야, 키워드 23 00:01:16,830 --> 00:01:20,170 단을 통해이 포함되어야합니다 다음 Z 및 반환. 24 00:01:20,170 --> 00:01:24,370 따라서이 루프 반복을위한 이상 모든 우리의 키워드 문자 확인 25 00:01:24,370 --> 00:01:31,870 하나는 알파벳 다음 수없는 경우 우리는 그 경고를 인쇄해야합니다. 26 00:01:31,870 --> 00:01:36,285 >> 우리는이 점에 도착하면 지금, 우리는 알고있다 문자열이 정확해야합니다. 27 00:01:36,285 --> 00:01:38,230 키워드는 정확해야합니다. 28 00:01:38,230 --> 00:01:40,880 그리고 지금 우리의 메시지를 얻을 필요 그들은 우리를 원하는 사용자 29 00:01:40,880 --> 00:01:43,910 그 중요한 어구와 함께 암호화합니다. 30 00:01:43,910 --> 00:01:46,780 그래서 메시지를 얻기 위해, 우리는이 하는 동안에 무슨 루프 31 00:01:46,780 --> 00:01:52,650 연속적 사용자로부터 문자열을 얻을 그들은 올바른 문자열을 입력 할 때까지. 32 00:01:52,650 --> 00:01:58,690 >> 계속해서, 우리는 여기에서이 변수를 참조 INT nun_letters_seen. 33 00:01:58,690 --> 00:02:01,300 우리가 필요로하는 이유를 우리는 볼 수 있습니다 두 번째에 해당. 34 00:02:01,300 --> 00:02:07,320 그러나 루프이 반복하는 것입니다 나는 최대 0 모든 방법을 동일에서 35 00:02:07,320 --> 00:02:10,940 우리가 반복하고 의미하는 N과 동일 가능한 모든 이상 36 00:02:10,940 --> 00:02:13,020 우리의 메시지의 문자. 37 00:02:13,020 --> 00:02:17,370 우리는 모두 암호화 할 때문에 우리의 메시지에있는 문자. 38 00:02:17,370 --> 00:02:22,970 그래서, 우리는 (isalphamessage [I] 경우 어떻게 알 수 우리는 암호화하지 않기 때문에 39 00:02:22,970 --> 00:02:25,660 알파벳없는 문자. 40 00:02:25,660 --> 00:02:28,810 기호가있는 경우에, 공백 나 숫자, 우리는하지 않습니다 41 00:02:28,810 --> 00:02:30,730 사람들을 암호화 할. 42 00:02:30,730 --> 00:02:37,220 >> 지금,이 알파벳이라고 가정 우리는 먼저 파악하려는 우리 43 00:02:37,220 --> 00:02:40,890 실제로 암호화하려면 사용하여 메시지. 44 00:02:40,890 --> 00:02:42,710 그래서 나는 그 무엇을 의미합니까? 45 00:02:42,710 --> 00:02:46,740 >> 의 가정하자 그 중요한 어구 입력 한 사용자는 ABC했다. 46 00:02:46,740 --> 00:02:49,070 그것은 우리가 암호화하는 사용하는거야. 47 00:02:49,070 --> 00:02:54,850 이제, 순진, 우리는 그 의미 생각 우리는 첫 번째 문자를 암호화하려면 48 00:02:54,850 --> 00:02:59,740 0에 의해 우리의 메시지, 이후 수단 0으로 문자를 회전. 49 00:02:59,740 --> 00:03:04,395 >> 우리는 두 번째 문자를 암호화하려면 1로, 2로 세 번째 문자, 50 00:03:04,395 --> 00:03:09,170 0으로 네 번째 문자, 다섯 번째 1로, 등등 2로 여섯 번째합니다. 51 00:03:09,170 --> 00:03:14,440 그러나 우리는 건너 뛸 것을 기억 공백 및 기호 및 숫자. 52 00:03:14,440 --> 00:03:21,520 즉, 사용자가 입력했다면 메시지와 안녕하세요! 53 00:03:21,520 --> 00:03:26,590 그런 다음, 암호화 할 것을 우리는 0으로 시간을 암호화하려면 54 00:03:26,590 --> 00:03:32,680 , (1)에 의해, E에 대응하는 L 2로, 0에 의한 L, 1에 의한 오. 55 00:03:32,680 --> 00:03:41,050 우리는 암호화 된 공간을 건너 뛸 이 순서 w, 0, 1, 2, 0에 의해 O. 56 00:03:41,050 --> 00:03:45,250 우리는 생략하지 않은 경우에, 통지 공간, 우리는 암호화 된 것 57 00:03:45,250 --> 00:03:51,240 0으로 W와 함께 종료 잘못된 문자열입니다. 58 00:03:51,240 --> 00:03:57,470 >> OK, 이것은 우리가 변수를 필요로하는 무슨이다 대한 num_letters_seen. 59 00:03:57,470 --> 00:04:04,450 우리는 단지 사용하여 암호화 생길까 이동하지 않는이 방법 60 00:04:04,450 --> 00:04:09,860 기호, 공간, 숫자, 우리 다만 나는 무엇으로 변수를 사용할 수 있습니다 61 00:04:09,860 --> 00:04:12,540 우리의 주요 구문에 인덱스. 62 00:04:12,540 --> 00:04:17,620 우리는 계속 num_letters_seen를 사용할 필요가 의 실제 위치를 추적 63 00:04:17,620 --> 00:04:21,146 우리는 인덱싱 할 중요한 어구. 64 00:04:21,146 --> 00:04:32,240 그래서 여기에, 키워드는 우리가 가지고있는 경우에, 경우 num_letter_seen 모드 keyword_length, 그래서 65 00:04:32,240 --> 00:04:34,570 왜 우리는 모드 (mod)해야합니까 키워드 길이로? 66 00:04:34,570 --> 00:04:36,630 >> 음, 안녕하세요 좋은 예였다. 67 00:04:36,630 --> 00:04:42,310 키워드 ABC했다 경우에, 우리는 필요 계속 B를 다음으로 암호화하는 68 00:04:42,310 --> 00:04:45,740 다음 C, 다음, 주위에 다시 포장 A, B, C, A, B, C,. 69 00:04:45,740 --> 00:04:50,110 그래서 우리는 키워드 길이 모드 (mod) 할 필요가 주위에 다시 포장하기 위하여. 70 00:04:50,110 --> 00:04:57,280 >> 그래서,이 대문자 인 경우 우리는에 의해 암호화하려면 71 00:04:57,280 --> 00:05:01,450 알파벳에서 해당 문자의 위치, 우리는 단지에 의해 얻을 수있는 72 00:05:01,450 --> 00:05:06,730 자본 A.을 뺀 마찬가지로 소문자의 경우, 우리 73 00:05:06,730 --> 00:05:13,000 우리가 원하는 키를 얻을 수 있습니다 소문자를 빼서. 74 00:05:13,000 --> 00:05:16,910 그래서되는지의 여부에 관계없이 문자 중요한 어구의 수도였다 또는 75 00:05:16,910 --> 00:05:21,640 소문자, 우리는 갈거야 같은 양으로 암호화합니다. 76 00:05:21,640 --> 00:05:28,680 >> 이제 우리는 우리의 키를 가지고, 우리는 여기에서 참조 그 메시지 경우에 나는 대문자 77 00:05:28,680 --> 00:05:32,660 문자는, 우리는 계산할 그 알파벳 위치 78 00:05:32,660 --> 00:05:39,460 자, 여기에 우리의 키를 추가, 다시 포장 주위에 그 그래서 우리는 지나친 경우 79 00:05:39,460 --> 00:05:43,170 Z 우리는 그렇게 다시 A, B, C로 이동합니다. 80 00:05:43,170 --> 00:05:49,070 그리고, 마지막으로, 자본 A.에 다시 추가 그래서 우리는 [로 다시 이동? 아스키?] 81 00:05:49,070 --> 00:05:52,010 이러한 문자의 범위 대신 알파벳 숫자 위치 82 00:05:52,010 --> 00:05:53,540 이러한 문자. 83 00:05:53,540 --> 00:05:56,610 >> 그리고 우리를 위해 같은 일을 소문자. 84 00:05:56,610 --> 00:06:00,070 우리는 소문자를 뺄 경우를 제외하고 과에 다시 추가 85 00:06:00,070 --> 00:06:02,900 끝, 소문자. 86 00:06:02,900 --> 00:06:08,120 그 num_letter_seen이 아니라주의 증가하면이었다 메시지 87 00:06:08,120 --> 00:06:09,640 알파벳. 88 00:06:09,640 --> 00:06:15,790 이것은 우리가 공백, 기호를 이동하는 방법이며, 우리의 중요한 어구, 이후의 숫자 89 00:06:15,790 --> 00:06:20,520 num_letter_seen 우리가 사용하는 것입니다 우리의 키워드로 인덱스. 90 00:06:20,520 --> 00:06:24,540 >> 마지막으로, 결국, 지금 메시지 나는, 암호화 된 우리 91 00:06:24,540 --> 00:06:26,280 내가 메시지를 인쇄 할 수 있습니다. 92 00:06:26,280 --> 00:06:27,890 그리고 바로 그거야. 93 00:06:27,890 --> 00:06:28,670 내 이름은 롭입니다. 94 00:06:28,670 --> 00:06:31,020 그리고 이것은 Vigenere입니다. 95 00:06:31,020 --> 00:06:32,850 >> [음악 연주] 96 00:06:32,850 --> 00:06:36,651