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 নাম Alias 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 কী খুঁজতে হবে একটি অনেক nicer নাম. 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 কিন্তু লুপ জন্য এই পুনরুক্তি করতে যাচ্ছে আমি পর্যন্ত 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 >> এর অনুমান করা যাক যে কি ফ্রেজ প্রবেশ ব্যবহারকারীর এবিসি ছিল. 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 দ্বারা এল, 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 দ্বারা W এবং সঙ্গে শেষ পর্যন্ত ভুল পংক্তি. 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 কেন আমরা mod প্রয়োজন অভিব্যক্তি দৈর্ঘ্য দ্বারা? 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 সুতরাং আমরা অভিব্যক্তি দৈর্ঘ্য দ্বারা 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 রাজধানী এ আউট subtracting এবং একইভাবে, ছোট হাতের অক্ষর, আমরা 73 00:05:06,730 --> 00:05:13,000 আমরা দ্বারা ব্যাপারে কি কি পেতে পারেন ছোট হাতের একটি আউট subtracting. 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-আমরা তাই আবার এ, বি, সি এ যান, এবং. 80 00:05:43,170 --> 00:05:49,070 এর পরে, অবশেষে, রাজধানী এ ফিরে যোগ তাই আমরা [ফিরে নামান? 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 আমরা ছোট হাতের আউট বিয়োগ করতে চান ছাড়া A এবং ফিরে নেভিগেশন এটি যোগ 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