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 ہماری خفیہ کاری کے طور پر استعمال کرنا چاہتے ہیں سٹرنگ، یا وہ 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 صرف ایک کے ذریعے پر مشتمل ہونا چاہئے پھر Z اور واپس. 24 00:01:20,170 --> 00:01:24,370 تو یہ لوپ iterates ہے کے لئے بھر کے تمام ہمارے مطلوبہ الفاظ کے حروف، جانچ پڑتال 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 لیکن لوپ کے لئے اس iterate کرنے کے لئے کی جا رہی ہے میں میں 0 تمام طرح برابر سے 35 00:02:07,320 --> 00:02:10,940 ہم iterating کر رہے جس کا مطلب ہے، (ن) کے برابر ہے ہر ممکن زیادہ 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 >> کی فرض کرتے ہیں کہ کلیدی جملہ داخل صارف ABC تھا. 46 00:02:46,740 --> 00:02:49,070 کہ ہم خفیہ استعمال کر رہے ہیں کیا ہے. 47 00:02:49,070 --> 00:02:54,850 اب، naively، ہم مطلب یہ ہے کہ لگتا ہے کہ ہم سب سے پہلے کردار کو خفیہ کرنا چاہتے ہیں 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 L، 1 کی طرف سے اے. 55 00:03:32,680 --> 00:03:41,050 ہم خفیہ، خلا پر کرنا چاہتے ہیں 2 کی طرف سے W، 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 MOD 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 مطلوبہ الفاظ ABC تھا، تو ہم نے کی ضرورت مسلسل B ایک اس وقت تک خفیہ 68 00:04:42,310 --> 00:04:45,740 پھر سی، تو، ارد گرد واپس لپیٹ A، B، C، A، B، C. 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 دارالحکومت 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. پر واپس شامل تو ہم میں واپس منتقل؟ ASCII؟] 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