[پخش موسیقی] ZAMYLA چان: اجازه دهید اجرا Vigenere، کمی بیشتر امن رمزنگاری از سزار. متن ساده با استفاده از رمز شده را مشخص یک رشته به جای یک عدد صحیح است. هر حرف الفبا در متن ساده است که توسط یک منتقل شده است حرف در کلمه کلیدی. در این مثال، کلمه کلیدی ohai، O مربوط به تغییر از 14؛ H به تغییر از 7؛، تغییر 0 و من از SHIFT 8. اگر شما با موفقیت اجرا کرده ام خود را رمز سزار، آن خواهید بود یک آرزومندیم چارچوب که از آن شما می توانید Vigenere پیاده سازی. همانطور که می بینید، در حال اجرا Vigenere رمز با یک شخصیت تنها به عنوان یک کلید واژه همان چیزی است به عنوان یک رمز سزار. همان مرحله اعمال می شود به Vigenere همان طور که در سزار. کلمه کلیدی خط فرمان دوم استدلال، به طوری که شما آن را با argv1 دسترسی داشته باشید. سپس شما نیاز به تایید که کلید کلمه ای است که در واقع تمام حروف الفبا. اینجا جایی است که آلفا می تواند در مفید آمده است. اگر شما یک کلمه کلیدی معتبر، شما می توانید از قدرت و صلابت از کاربر، و سپس شما آماده به برمز نوشتن هستید. فرمول رمز Vigenere مشابه به فرمول سزار، به جز شرکت K می شود ک نویس J، نشان می دهد نامه J-ام از کلمه کلیدی. بیایید قدم از طریق این فرایند. می گویند شما می خواهید برای ارسال پیام خود را به سقوط، من تو را دوست دارم، اما به شما نمی کنند همه به دانستن خواهید. بنابراین شما با استفاده از رمز Vigenere با پاندا کلمه کلیدی، چرا که، خوب، شما همچنین دوست پانداهای. اولین نامه، من، منتقل خواهد شد توسط P، دادن x و 15 نامه پس از من، زیرا 15 ص در 16th حروف الفبا. نامه بعدی در متن ساده است فضا، به طوری که منتقل نمی شود. و شاخص از کلمه کلیدی تغییر نخواهد کرد. سپس حرف بعدی در متن ساده است ل، منتقل شده، که نشانی از تغییر نیست متن نامه ساده در همه، به دلیل 0 حرف از حروف الفبا است. این روند ادامه می یابد، پیشبرد شخصیت کلمه کلیدی در هر زمان وجود دارد نامه در متن ساده. هنگامی که آخرین حرف در کلمه کلیدی است رسید، کلمه کلیدی به دور و شیفت به دشت بعدی متن نامه توسط p. X lvne نوح. چه عاشقانه. بنابراین با توجه به شخصیت، چگونه می توانم شما را تبدیل که به مربوط به رمز از SHIFT؟ سعی کنید مقایسه ASCII ارزش به تغییر. شاید شما می توانید پیدا کردن یک رابطه بین حروف و فهرست الفبایی با استفاده از ریاضی ASCII. آیا می توانم به شما اضافه و یا تفریق یکی از شخصیت ها از دیگری دریافت کنید شما به نتیجه مورد نظر؟ به یاد داشته باشید که تغییر برای بزرگ و حروف کوچک یکسان هستند. بنابراین شاید شما نیاز به شناسایی دو فرمول مشابهی برای نشان دادن تغییر، یکی برای بزرگ شخصیت کلمه کلیدی، و یک برای یکی از حروف کوچک. بعد، به یاد داشته باشید که پیشرفت کلمه کلیدی تنها اگر شخصیت در متن ساده، یک حرف و که است مورد دشت متن باید حفظ شود. بنابراین اگر ما در فرمول برای نگاه از SHIFT Vigenere، دو شاخص وجود دارد متغیرها، i و j. یکی را نگه می دارد ردیابی موقعیت در دشت متن، و از سوی دیگر موقعیت کلمه کلیدی. اما متن ساده شما ممکن است بسیار طولانی از کلمه کلیدی خود را، که در این صورت خود را شاخص کلمه کلیدی نیاز به بسته بندی کردن در اطراف عقب به آغاز کلمه کلیدی. چگونه می توانم شما انجام این کار؟ بیایید نگاهی به اپراتور باقی مانده. پیمانه تعریف شده است باقی مانده است تقسیم دو عدد. اما آنچه عملی واقعی استفاده از پیمانه؟ خوب، می گویند شما باید یک گروه بزرگی از مردم، و شما نیاز به تقسیم شدن به سه گروه. یکی از راه های به دو گروه تقسیم مردم این است که آنها را به حساب کردن. تعداد گروه گروه شماره 1، 2 و 3. اولین کسی باشید که می گویند 1، 2 بعدی، 3 بعدی. این فرد پس از آن می گویند 1، زیرا یک گروه 4، و وجود ندارد شمارش شروع می شود بیش از وجود دارد. شما می توانید باقی مانده را به استفاده از همین کار را. در این زمان، گروه گروه 0، 1 و 2. اولین کسی باشید که، تعداد 1 پیمانه 3، 1 است. فرد 2 پیمانه 3 2 است. فرد 3 پیمانه 3 0 است. فرد 4 پیمانه 3 به 1، و به همین ترتیب گروه ها می توانند در اطراف بپیچید. بنابراین اگر شما را شاخص و پیمانه که شاخص اندازه حداکثر، نتیجه هرگز بزرگتر از یا خواهد شد برابر به اندازه، به این معنی است که شما می تواند شاخص را افزایش دهد زیادی به عنوان شما می خواهم. و تا زمانی که شما پیمانه شاخص برخی از تعداد، شما یک عدد را می کنید بزرگتر از آن است. بنابراین ما باید 10 نفر به جای 5 و همه آنها به گروه ها اختصاص داده شماره 0، 1 و یا 2. سعی کنید به درخواست این کاغذ بسته بندی بیش از کلمه کلیدی، به جز به جای مرتب سازی افراد را در شماره گروه شما می خواهید شاخص از کلمه کلیدی به طوری که شما می توانید شخصیت مناسب برای تغییر بدون بیش از طول رشته. با آن، شما باید خود را Vigenere صفر. نام من Zamyla است، و این CS50 است.