1 00:00:00,000 --> 00:00:11,980 2 00:00:11,980 --> 00:00:16,980 >> रोब: हाय, मैं रोब हूँ, और समझने चलो 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 हमारे Encrypting के रूप में प्रयोग किया जा करना चाहते हैं स्ट्रिंग, या वे 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 >> ठीक है, तो अब हम चाहते हैं कि जाँच करना चाहते हैं हमारे कीवर्ड वास्तव में मान्य है. 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 केवल एक के माध्यम से शामिल होना चाहिए फिर जेड और वापसी. 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 हम पुनरावृति रहे हैं, जिसका मतलब है, एन के बराबर होती है सभी संभव से अधिक 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 [मैं] अगर ऐसा नोटिस हम एन्क्रिप्ट नहीं करना चाहते क्योंकि 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 >> की कल्पना करते हैं कि कुंजी वाक्यांश दर्ज उपयोगकर्ता एबीसी था. 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 से एक, ई के लिए इसी एल 2 से, 0 से एल, 1 से ओ. 55 00:03:32,680 --> 00:03:41,050 हम एन्क्रिप्टेड, अंतरिक्ष छोड़ना चाहते हैं 2 से डब्ल्यू, 0, 1, 2, 0 से ओ. 56 00:03:41,050 --> 00:03:45,250 हम छोड़ दिया था नहीं तो, अगर नोटिस अंतरिक्ष, तो हम एन्क्रिप्टेड गया होता 57 00:03:45,250 --> 00:03:51,240 0 डब्ल्यू और के साथ समाप्त हुआ गलत स्ट्रिंग. 58 00:03:51,240 --> 00:03:57,470 >> ठीक है, यह हम चर क्या जरूरत है के लिए 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 यही कारण है कि हम आधुनिक करने की जरूरत है कीवर्ड लंबाई से? 66 00:04:34,570 --> 00:04:36,630 >> खैर, नमस्ते विश्व एक अच्छा उदाहरण था. 67 00:04:36,630 --> 00:04:42,310 कीवर्ड एबीसी था, तो हम की जरूरत लगातार बी एक तो द्वारा एन्क्रिप्ट करने के लिए 68 00:04:42,310 --> 00:04:45,740 फिर सी, फिर, चारों ओर वापस लपेट ए, बी, सी, ए, बी, सी. 69 00:04:45,740 --> 00:04:50,110 इसलिए हम कीवर्ड लंबाई से आधुनिक करने की जरूरत है चारों ओर वापस रैप करने के क्रम में. 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 राजधानी ए बाहर घटाकर और इसी प्रकार, छोटे अक्षरों के लिए, हम 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 जेड हम इतने पर वापस ए, बी, सी में जाओ, और. 80 00:05:43,170 --> 00:05:49,070 फिर, अंत में, राजधानी ए पर वापस जोड़ने तो हम [में वापस बदलाव? आस्की?] 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 केवल नोटिस incremented अगर मैं था संदेश 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