ROB: سلام، من راب هستم، و اجازه دهید به کشف برنامه Vigenere. پس اولین چیزی که ما باید انجام دهیم این است را مطمئن شوید که کاربر وارد شده آنچه که ما انتظار می رود آنها را در خط فرمان. بنابراین اگر تعداد آنها است 2 نه این بدان معناست که یا کاربر را ما رشته را وارد کنید می خواهم به استفاده از به عنوان رمزگذاری ما رشته، یا آنها وارد شده بیش از حد بسیاری از چیزها. و ما نمی دانیم که چه باید بکنید با آن چیز دیگر. بنابراین ما آنها را به آنچه آنها باید وارد شده است. و ما باز می گردد. در حال حاضر، فرض کنید که تعداد آنها 2 بود، ما می توانیم با بقیه برنامه ادامه خواهد داد. ما نام مستعار نام و argv [1] به کلمه کلیدی متغیر است. به طوری که ما لازم نیست استفاده از نام و argv [1] در طول بقیه برنامه. و شاید ما را فراموش کرده ام چه که به معنی و غیره. کلید واژه یک نام بسیار بهتر است. و ما بلافاصله شما را با شتاب به طول از کلمه کلیدی ما در اینجا ببینید. OK، بنابراین در حال حاضر ما می خواهیم به بررسی کنید که کلمه کلیدی ما در واقع معتبر است. کلمه کلیدی استفاده می کنیم برای رمزگذاری رشته ها باید فقط بر اساس حروف الفبا است شخصیت. اگر کاربر وارد شده غیر حروف الفبا شخصیت، باید گفت، کلمه کلیدی باید شامل از طریق Z و سپس بازگشت. پس این برای حلقه For بیش از همه حرف از کلمه کلیدی ما، چک کردن که اگر یکی از حروف الفبا و سپس نه ما نیاز به چاپ که هشدار دهنده. در حال حاضر، زمانی که ما به این نقطه، ما می دانیم که رشته باید درست باشد. کلمه کلیدی باید درست باشد. و در حال حاضر ما نیاز به دریافت این پیام از کاربر است که ما می خواهیم به رمزگذاری با عبارت کلیدی است. پس برای دریافت این پیام، ما یک در حالی که حلقه که رفتن به به طور مداوم دریافت یک رشته از کاربر تا زمانی که وارد یک رشته معتبر است. در ادامه، ما در اینجا شاهد این متغیر، اعضای هیات nun_letters_seen. خواهیم دید که چرا ما نیاز که در یک ثانیه. اما این حلقه است که به تکرار از من برابر با 0 تمام راه را تا به من برابر با N، که بدان معنی است که ما در حال تکرار بیش از همه امکان پذیر است کاراکتر در پیام ما. از آنجا که ما می خواهیم به رمز در آوردن همه شخصیت در پیام ما. بنابراین متوجه ما اگر (isalphamessage [I] را انجام دهید، چرا که ما نمی خواهیم به رمز در آوردن شخصیت های که به ترتیب حروف الفبا نیست. اگر کاراکتر وجود دارد، فاصله، و یا اعداد، ما نمی می خواهید به رمز در آوردن آن. در حال حاضر، این فرض است که آن را بر اساس حروف الفبا است، ما برای اولین بار می خواهید برای کشف کردن آنچه ما در واقع می خواهم به رمز در آوردن پیام با استفاده از. پس چه می توانم در آن چیست؟ اجازه دهید فرض کنیم که عبارت کلیدی کاربر وارد ABC بود. این چیزی است که ما با استفاده از به رمز در آوردن. در حال حاضر، ساده لوحانه، ما فکر می کنم که بدان معنی است که ما می خواهیم به رمز در آوردن اولین شخصیت پیام ما شده توسط 0، از یک وسیله چرخش شخصیت های 0. ما می خواهیم به رمز در آوردن شخصیت دوم 1، شخصیت سوم 2، شخصیت چهارم توسط 0، پنجم 1، ششمین 2، و غیره. اما به یاد داشته باشید، که ما می خواهیم به جست و خیز فضاها و نمادها و اعداد است. این به این معنی است که در صورتی که کاربر وارد کرده است سلام جهان به عنوان پیام که آنها می خواهند به رمز در آوردن، و سپس ما می خواهیم به رمز در آوردن در ساعت توسط 0 مربوط به، الکترونیک 1، L 2، L 0، ای 1. ما می خواهیم به جست و خیز فضا، رمزگذاری شده عرض های 2، درجه 0، 1، 2، 0. بنابراین توجه، اگر ما تا به حال از قلم نمی فضا، سپس ما را رمزگذاری کرده اند عرض های 0 و با به پایان رسید رشته نادرست است. OK، این چیزی است که ما نیاز به متغیر num_letters_seen برای. اگر ما فقط قرار بود به رمز در آوردن با استفاده از این روش، که به جست و خیز نیست کاراکتر، فاصله، و اعداد، پس از آن ما می تواند فقط به عنوان آنچه که استفاده از متغیر من به شاخص به عبارت کلیدی خود را با. ما نیاز به استفاده از num_letters_seen برای حفظ آهنگ از محل واقعی در عبارت کلیدی است که ما به صفحه اول می خواهم. بنابراین در اینجا، در صورتی که کلمه کلیدی ما، اگر num_letter_seen keyword_length وزارت دفاع، بنابراین چرا ما نیاز به وزارت دفاع توسط طول کلمه کلیدی؟ خب، سلام جهان یک مثال خوب بود. اگر کلمه کلیدی ABC بود، پس ما نیاز به طور مداوم توسط پس از آن رمز در آوردن ب پس از ج، و سپس قرار دادن بازگشت در اطراف، A، B، C، A، B، C. بنابراین ما نیاز به وزارت دفاع توسط طول کلمه کلیدی به منظور قرار دادن بازگشت در اطراف. پس اگر این حرف بزرگ است، پس از آن ما می خواهیم به رمز در آوردن توسط موقعیت که حرف از حروف الفبای، که ما فقط کم کردن از سرمایه A. و به طور مشابه، برای حروف کوچک، ما می تواند کلیدی است که ما می خواهید دریافت کنید کم کردن از حروف کوچک. بنابراین صرف نظر از اینکه نامه در عبارت های کلیدی سرمایه بود یا حروف کوچک، ما قصد داریم به رمز های همان مقدار. حالا که ما کلید، ما در اینجا ببینید، که اگر پیام من بزرگ است شخصیت، و سپس ما می خواهیم به محاسبه موقعیت در الفبای آن شخصیت، اضافه کردن کلید ما برای آن، بسته بندی دوباره در اطراف به طوری که اگر ما به گذشته رفت Z ما بازگشت به A، B، C، و غیره. سپس، در نهایت، اضافه کردن و در تاریخ سرمایه A. بنابراین ما به تغییر در [؟ اسکی؟] طیف وسیعی از این شخصیت ها به جای آن از موقعیت عددی در الفبای از این حرف می باشد. و ما همین کار را برای شخصیت های مورد پایین تر است. به جز ما می خواهیم به تفریق از حروف کوچک و اضافه کردن آن را به عقب بر در پایان، کوچک. توجه کنید که num_letter_seen تنها افزایش اگر پیام من بود بر اساس حروف الفبا. این است که چگونه ما جست و خیز فاصله، نمادها، و تعداد در عبارت کلیدی ما، از num_letter_seen چیزی است که ما با استفاده از به صفحه اول به کلمه کلیدی است. در نهایت، در پایان، در حال حاضر که پیام من تا به رمزگذاری شده، ما نسخه قابل چاپ کردن پیام من. و آن نیست. نام من راب است. و این Vigenere است. [MUSIC پخش]