1 00:00:00,000 --> 00:00:00,930 2 00:00:00,930 --> 00:00:04,030 >> ZAMYLA சான்: முடுக்கிவிட நாம் எங்கள் வைஜெனேர் மறைக்குறியீடு விளையாட்டு. 3 00:00:04,030 --> 00:00:06,710 வைஜெனேர் மறைக்குறியீடு உள்ளது சீசர் மிகவும் ஒத்த, 4 00:00:06,710 --> 00:00:11,060 சீசர் தவிர நாங்கள் உள்ளே சென்று எங்கள் முக்கிய போன்ற ஒரு முழு. 5 00:00:11,060 --> 00:00:14,100 வைஜெனேர் உள்ள நாங்கள் போகிறோம் ஒரு முக்கிய கடந்து. 6 00:00:14,100 --> 00:00:19,400 எனவே, மாற்ற நான் விரும்பினால் இந்த சிஎஸ் 50 ஆகும் ohai, மூலம் பிரத்தியேக சங்கேத பாஷை, 7 00:00:19,400 --> 00:00:23,260 பின்னர் அந்த ஒவ்வொரு கடிதம் என்று அர்த்தம் ohai, முக்கிய பணியாற்ற போகிறது, 8 00:00:23,260 --> 00:00:27,160 நான் மேல் சுழற்சி போகிறேன் என் மாற்றத்தை, அந்த சொல் 9 00:00:27,160 --> 00:00:31,930 சைபர் உரையை செய்யும் கடினமாக நிறைய குறிவிலக்குவதற்காக. 10 00:00:31,930 --> 00:00:34,540 >> அது என்ன அர்த்தம் முக்கிய மூலம் மாற்ற? 11 00:00:34,540 --> 00:00:38,610 சரி, முக்கிய ஒரு சரம் அங்கு ஒவ்வொரு கடிதம் ஒத்துள்ளது 12 00:00:38,610 --> 00:00:41,080 சில முழு மாற்றம் செய்ய. 13 00:00:41,080 --> 00:00:49,310 எனவே, ஓ 14 ஒரு முக்கிய ஒத்துள்ளது, 7 ஒரு முக்கிய மணி, ஒரு, 0 ஒரு முக்கிய உள்ளது 14 00:00:49,310 --> 00:00:54,670 அதனால், எதையும் மாற்ற முடியாது பின்னர் நான் 8 ஒரு முக்கிய உள்ளது. 15 00:00:54,670 --> 00:01:00,000 >> நான் வைஜெனேர் ஒரு ஓடி சொல்ல வெற்று உரை இந்த CS50 நன்றாக உள்ளது, 16 00:01:00,000 --> 00:01:02,800 என்று வெறுமனே கொடுக்க வேண்டும் என்னை ஒரு மாறாமல் சரம். 17 00:01:02,800 --> 00:01:08,170 சமமானது என்று அறிவிப்பு பூஜ்ஜியமாக ஒரு முக்கிய கொண்டு சீசர் இயங்கும். 18 00:01:08,170 --> 00:01:12,070 உண்மையில், இயங்கும் வைஜெனேர் தனி எழுத்தை கொண்டு 19 00:01:12,070 --> 00:01:17,070 இயங்கும் சமமான வேண்டும் அதே முழு சீசர். 20 00:01:17,070 --> 00:01:20,400 >> சரி, அதனால், முதல் அவர்கள் விட்டோம் மிகவும் ஒத்த 21 00:01:20,400 --> 00:01:24,300 உண்மையில் பரிந்துரைக்கிறோம் என்று நீங்கள் கூட நீங்கள் உங்கள் சீசர் நகல் செய்யலாம் 22 00:01:24,300 --> 00:01:26,932 உங்கள் வைஜெனேர் குறியீடு ஒரு குறியீடு. 23 00:01:26,932 --> 00:01:28,640 விஷயங்கள், மாறும் ஆனால் குறைந்த பட்சம் நீங்கள் வேண்டும் 24 00:01:28,640 --> 00:01:31,110 நீங்கள் வேலை செய்யலாம் என்று சில முதுகெலும்பாக. 25 00:01:31,110 --> 00:01:36,410 TODOs நாம் விரும்பும் அதே ஏனெனில் முக்கிய பெற, உரை பெற, 26 00:01:36,410 --> 00:01:40,690 மறை வெற்று உரை, பின்னர் அந்த அவுட் அச்சிட. 27 00:01:40,690 --> 00:01:44,980 >> சீசர் போல முக்கிய போகிறது இரண்டாவது கட்டளை வரி போன்ற நிறைவேற்றப்பட்டது 28 00:01:44,980 --> 00:01:50,540 வாதம், argv குறியீட்டு உள்ள 1, ஆனால் அது இந்த முறை வித்தியாசமாக இருக்கிறது 29 00:01:50,540 --> 00:01:52,560 அது அகரவரிசை இருக்க வேண்டும், ஏனெனில். 30 00:01:52,560 --> 00:01:56,390 எனவே, நாம் ஒவ்வொரு மீது மீண்டும் கூறு வேண்டும் என்று முக்கிய ஒற்றை தன்மை 31 00:01:56,390 --> 00:02:00,800 பயனர் கடந்து, உறுதி என்று ஒவ்வொரு பாத்திரம் அகர என்று 32 00:02:00,800 --> 00:02:02,800 தொடரும் பொருட்டு. 33 00:02:02,800 --> 00:02:05,560 >> நாங்கள் பின்னர், செய்த முறை, நாங்கள் சரம் பயனர் இருந்து பெற முடியும், 34 00:02:05,560 --> 00:02:07,560 நாம் முன்பு செய்தது போல். 35 00:02:07,560 --> 00:02:10,520 இப்போது, நாம் நினைவில் வந்து வைஜெனேர் பிரச்சனை, 36 00:02:10,520 --> 00:02:14,665 இது நான் சீசர், எப்படி போன்ற ஆகிறது enciphering முறை கண்டுபிடிக்க 37 00:02:14,665 --> 00:02:19,760 மற்றும் சமன்பாடு, மற்றும் மறை முழு எளியவுரையில். 38 00:02:19,760 --> 00:02:23,280 >> எனவே, நீங்கள் கவனிக்க வேண்டும் என்று வைஜெனேர் மாற்றம் சமன்பாடு 39 00:02:23,280 --> 00:02:25,610 சீசர் ஒரு மிகவும் ஒத்த. 40 00:02:25,610 --> 00:02:29,780 ஒரே ஒரு வித்தியாசம் என்னவென்றால் அதற்கு பதிலாக ஒரு ஒற்றை மாறி k இன் 41 00:02:29,780 --> 00:02:37,270 முன், இப்போது k ஒரு ஒட்டு உள்ளது, முக்கிய jth கடிதம் குறிப்பிடவும். 42 00:02:37,270 --> 00:02:39,560 >> இது ஒரு உதாரணம் மூலம் நடக்க இருக்கிறது. 43 00:02:39,560 --> 00:02:43,830 நீங்கள் ஒரு இரகசிய கடக்க வேண்டும் என்று உங்கள் நேசம் மீது செய்தியை, நான் உன்னை விரும்புகிறேன். 44 00:02:43,830 --> 00:02:46,325 சரி, உங்கள் முக்கிய நீங்கள் ஏதாவது என்று தேர்வு உங்கள் 45 00:02:46,325 --> 00:02:49,790 தெரியும் ஈர்ப்பு நீங்கள் விரும்பும், பாண்டாக்கள் தெரியும். 46 00:02:49,790 --> 00:02:52,290 சரி, எப்படி நாம் இந்த மாற்றத்தை செய்ய? 47 00:02:52,290 --> 00:02:55,500 >> சரி, நாம் எங்கள் இயல்பு குறியீட்டெண் வேண்டும். 48 00:02:55,500 --> 00:02:59,160 அந்த முதல் கடிதம் மற்றும் எனவே எங்கள் முக்கிய குறியீடாகும் 49 00:02:59,160 --> 00:03:02,830 எந்த ப உள்ளது, முதல் எங்கள் பாண்டா வார்த்தையில் கடிதம். 50 00:03:02,830 --> 00:03:08,590 எனவே, ப நான் மாற்றுவதால் நம்மை x கொடுக்கிறது, பின்னர் நாங்கள், இயல்பு குறியீட்டு முன்னெடுக்க. 51 00:03:08,590 --> 00:03:10,460 இந்த ஒரு இடத்தை நமக்கு கிடைக்கிறது. 52 00:03:10,460 --> 00:03:13,540 இப்போது, எழுத்து இடைவெளி அல்லாத அகர, ஆகும் 53 00:03:13,540 --> 00:03:16,930 அதாவது, என்று தான் வலது சைபர் உரையை மீது இடமாற்றங்கள், 54 00:03:16,930 --> 00:03:23,430 நாங்கள் அங்கு ஒரு இடத்தில் போட, மற்றும் நாம் செய்ய எங்கள் முக்கிய ஐந்து குறியீட்டு முன்னெடுக்க. 55 00:03:23,430 --> 00:03:25,820 எனவே, நாம் இந்த கட்டத்தில் ப மணிக்கு இன்னும் இருக்கிறோம். 56 00:03:25,820 --> 00:03:30,130 >> நாம் அடுத்த முன்னெடுக்க எங்கள் இயல்பு குறியீட்டு. 57 00:03:30,130 --> 00:03:34,030 இப்போது, என்று உள்ளது, ஏனெனில் ஒரு கடிதம், ஸ்மால் எல், 58 00:03:34,030 --> 00:03:37,920 நாங்கள் அந்த மாற்ற எங்கள் முக்கிய அடுத்த குறியீட்டு. 59 00:03:37,920 --> 00:03:42,360 எந்த ஒரு இது பூஜ்ஜியம், ஒரு ஆகிறது மாற்றம் என்று தான் ஆகிறது 60 00:03:42,360 --> 00:03:44,370 எங்கள் சைபர் உரையை ஒரு எல். 61 00:03:44,370 --> 00:03:51,120 பின்னர், நாங்கள், இயல்பு இருவரும் முன்னெடுக்க, மற்றும் முக்கிய குறியீடான அது அகர ஏனெனில். 62 00:03:51,120 --> 00:03:56,210 எனவே நாம் அந்த தொடர்ந்து நாங்கள் போன்ற மின் கிடைக்கும் வரை. 63 00:03:56,210 --> 00:04:01,090 >> சரி, நீங்கள் இந்த கவனிக்க வேண்டும் , என்று சுட்டிக்காட்ட எங்கள் முக்கிய குறியீடான அடிப்படையில், 64 00:04:01,090 --> 00:04:03,940 நாங்கள் இறுதியில் அடைந்துவிட்டீர்கள் பாண்டா வார்த்தை, அதனால் என்ன 65 00:04:03,940 --> 00:04:08,750 நாங்கள் அடுத்த கிடைக்கும் போது நடக்கும் இயல்பு உள்ள அகர கடிதம்? 66 00:04:08,750 --> 00:04:12,180 சரி, என்ன நடக்கிறது என்று நாங்கள் ஆகிறது துவக்கத்தில் சுற்றி போர்த்தி, 67 00:04:12,180 --> 00:04:14,710 எங்கள் முக்கிய முதல் குறியீட்டு. 68 00:04:14,710 --> 00:04:19,570 எனவே, நாம் என்று மாற்ற ப Y, எங்களுக்கு N கொடுக்க. 69 00:04:19,570 --> 00:04:26,860 பின்னர், நாம் குறியீட்டு முடித்த தொடர்ந்து எங்கள் இயல்பு X lvne நோ பெற. 70 00:04:26,860 --> 00:04:29,300 >> இந்த உதாரணம் இருந்து, நான் நாங்கள் மட்டும் முன்னெடுக்க என்று காட்டியது 71 00:04:29,300 --> 00:04:33,140 முக்கிய அடுத்த கடிதத்தில் என்றால் உரை பாத்திரம் 72 00:04:33,140 --> 00:04:37,480 isalpha எனவே ஒரு கடிதம் செயல்பாடு இங்கே கைக்குள் வரும். 73 00:04:37,480 --> 00:04:43,030 மற்றும், நான் சீசர் போலவே, நாம் வேண்டும் வழக்கு, isupper மற்றும் islower பாதுகாக்க. 74 00:04:43,030 --> 00:04:46,100 எனவே, இந்த சிறிது சேர்க்க உங்கள் சூடோகுறியீடு ஒரு இல். 75 00:04:46,100 --> 00:04:48,510 >> நாம் எப்படி முக்கிய ஷிப்டுகளில் கண்டுபிடிக்க? 76 00:04:48,510 --> 00:04:53,030 சரி, நீங்கள் எங்கள் விவாதம் நினைவு என்றால் சீசர் அகரவரிசை குறியீடுகளில் 77 00:04:53,030 --> 00:04:55,370 பிரச்சனை, அது போலவே தான். 78 00:04:55,370 --> 00:05:01,130 >> ஒரு ஒரு ஆஸ்கி ஒத்துள்ளது எங்கே 65 மதிப்பு ஆனால் 0 ஒரு மாற்றத்தை, 79 00:05:01,130 --> 00:05:03,550 பின்னர் கடைசி கடிதம் எழுத்துக்கள், இசட், 80 00:05:03,550 --> 00:05:06,940 25 ஒரு மாற்றத்தை ஒத்துள்ளது. 81 00:05:06,940 --> 00:05:10,320 நீங்கள் மாற்றத்தை என்று கவனிக்க வேண்டும் ஒத்ததாக உள்ளது அல்லது இல்லையா 82 00:05:10,320 --> 00:05:14,880 கடிதம் மேல் வழக்கு அல்லது கீழ் வழக்கு உள்ளது. 83 00:05:14,880 --> 00:05:17,700 >> சரி, இப்போது நீங்கள் என்று கண்டுபிடிக்க எப்படி தெரியும் 84 00:05:17,700 --> 00:05:21,470 எண் மாற்றம் என்று ஒரு ஒற்றை தன்மையை ஒத்துள்ளது 85 00:05:21,470 --> 00:05:24,050 நமது சமன்பாடு திரும்பி செல்லலாம். 86 00:05:24,050 --> 00:05:28,180 நாங்கள் இரண்டு வெவ்வேறு வேண்டும், ஏனெனில் இங்கே கீழ்க்குறியீட்டுகளாக, நான் மற்றும் ஜே, 87 00:05:28,180 --> 00:05:32,130 என்று நாம் கண்காணிக்க வேண்டும் என்று ஒரு குறிப்பை என்று இயல்பு இருவரும் எங்கள் நிலையை 88 00:05:32,130 --> 00:05:36,600 அத்துடன் முக்கிய எங்கள் நிலையை போல், அதனால் அந்த இரண்டு தனி மாறிகள் 89 00:05:36,600 --> 00:05:39,010 நாங்கள் ஒரு பிடி வைக்க வேண்டும் என்று. 90 00:05:39,010 --> 00:05:42,580 >> இப்போது, எங்கள் இயல்பு நிலை ஒவ்வொரு முறையும் அதிகரிக்க போகிறது, 91 00:05:42,580 --> 00:05:45,530 அதனால் ஒரு இருக்க போகிறது பிட் இன்னும் நேராக முன்னோக்கி 92 00:05:45,530 --> 00:05:49,750 நிலையை முக்கிய பதிலாக, இது நாம் தெரிந்து சுற்றி உள்ளது, 93 00:05:49,750 --> 00:05:52,910 மற்றும் சில நேரங்களில் அதிகப்படுத்த, சில நேரங்களில் அதே தங்க. 94 00:05:52,910 --> 00:05:55,430 எனவே, நாம் எப்படி செயல்படுத்த வேண்டாம் செயல்பாடு 95 00:05:55,430 --> 00:05:59,820 சுற்றி முக்கிய ஐந்து குறியீட்டு? 96 00:05:59,820 --> 00:06:01,640 >> நான் எண்ண உதாரணமாக பயன்படுத்த போகிறேன். 97 00:06:01,640 --> 00:06:06,100 ஆஃப் எண்ணி ஒரு பிரபலமான வழி குழுக்களாக மக்கள் பிரிந்தது. 98 00:06:06,100 --> 00:06:10,660 நான் இதற்காக 5 பேர் இருந்தனர் மற்றும் நான் விரும்பினேன் மூன்று குழுக்களாக அவர்கள் பிரிந்து, 99 00:06:10,660 --> 00:06:13,640 நன்கு பின்னர் நான் ஆஃப் எண்ணி தொடங்க வேண்டும். 100 00:06:13,640 --> 00:06:16,980 முதல் நபர் என்று , நான் அணி முதலிடத்தை நான் சொல்ல 101 00:06:16,980 --> 00:06:21,030 அடுத்த நபர் குழு எண்ணாக இருக்கும் இரண்டு, மூன்றாம் நபர் குழு எண் 102 00:06:21,030 --> 00:06:21,910 மூன்று. 103 00:06:21,910 --> 00:06:25,910 இப்போது, நான் மட்டும் மூன்று குழுக்கள் வேண்டும் நான்காவது நபர், உண்மையில் 104 00:06:25,910 --> 00:06:30,160 ஆரம்பத்தில் தொடங்க சொல்ல, நன்றாக, நான் அதே அணி முதலிடத்தை இருக்கிறேன், 105 00:06:30,160 --> 00:06:32,890 மற்றும் அடுத்த நபர் அணி எண்ணிக்கை இரண்டு இருக்கும். 106 00:06:32,890 --> 00:06:37,660 மற்றும், அங்கு இருந்து, அவர்கள் பின்னர் முடியும் தங்கள் குழுக்கள் பிரிகின்றன. 107 00:06:37,660 --> 00:06:41,130 >> எனவே, நான் மட்டு பயன்படுத்த வேண்டும் எனக்கு செயல்படுத்த உதவ 108 00:06:41,130 --> 00:06:44,160 இந்த செயல்பாடு சுற்றி மடக்கு எண்ண? 109 00:06:44,160 --> 00:06:50,140 சரி, முதல் நபர் எண் 1, மோட் 3 எங்களுக்கு 1 கொடுக்கிறது. 110 00:06:50,140 --> 00:06:54,690 2 மோட் 3 எங்களுக்கு 2 கொடுக்கிறது, மற்றும் 3 மோட் 3 எங்களுக்கு 0 கொடுக்கிறது. 111 00:06:54,690 --> 00:07:02,140 >> நான்காவது நபர், எண் 4, மோட் 3 எங்களுக்கு 1 கொடுக்கிறது, பின்னர் 5 மோட் 3 எங்களுக்கு 2 கொடுக்கிறது. 112 00:07:02,140 --> 00:07:05,370 எனவே, நீங்கள் கூட என்று பார்ப்பீர்கள் மக்களின் எண்ணிக்கை நான் வேண்டும் என்று 113 00:07:05,370 --> 00:07:11,210 அதிகரிக்கிறது, மற்றும் மேலே உள்ளது 3, என்பதால் நான் 3 modding நான் 114 00:07:11,210 --> 00:07:15,250 நான் எப்போதும் எண்கள் 0, 1, மற்றும் 2 கிடைக்கும். 115 00:07:15,250 --> 00:07:19,040 நான் 3 விட பெரிய பெற முடியாது. 116 00:07:19,040 --> 00:07:22,630 எனவே, நான் 10 இருந்தது கூட மக்கள், பின்னர் அந்த மக்களின் அனைத்து 117 00:07:22,630 --> 00:07:27,430 இன்னும் குழுக்கள் 1, 2, அல்லது 0 க்குள் இருக்க வேண்டும். 118 00:07:27,430 --> 00:07:33,560 >> எனவே, இப்போது நாம் என்று நாம் ஒரு குழு இருந்தால் 5 மற்றும் 3 மூலம் அந்த அனைத்து mod, 119 00:07:33,560 --> 00:07:38,180 நாங்கள் அந்த போகிறோம் குழுக்கள் 0, 1, அல்லது 2 க்கு மேல். 120 00:07:38,180 --> 00:07:43,430 எனவே, நாம் ஒருபோதும் ஒரு குழு பெற போகிறோம் 3 அல்லது மேலே சமமாக தான் என்று பல. 121 00:07:43,430 --> 00:07:46,980 எனவே, இன்னும் ஐந்து சேர்க்க கூட மக்கள், பின்னர் அவர்கள் அனைவரும் 122 00:07:46,980 --> 00:07:53,150 இன்னும் குழுக்கள் ஒதுக்கப்படும் என்று 0, 1, அல்லது 2 நான் 3 modding தான் காரணம். 123 00:07:53,150 --> 00:07:56,510 நான் இல்லை என்று வரையறையை தாண்ட போகிறேன். 124 00:07:56,510 --> 00:08:00,800 >> சரி, நாம் விண்ணப்பிக்க முடியும் என்றால் நாம் பார்ப்போம் மட்டு பயன்படுத்தும் இந்த கருத்து 125 00:08:00,800 --> 00:08:03,710 சுற்றி குழு எண்கள் மற்றும் விண்ணப்பிக்க 126 00:08:03,710 --> 00:08:08,000 நாங்கள் வேண்டும் எங்கே வைஜெனேர் செய்ய சுற்றி மட்டு பயன்படுத்த 127 00:08:08,000 --> 00:08:10,220 முக்கிய ஐந்து குறியீட்டு. 128 00:08:10,220 --> 00:08:12,830 கூட நாம் உயர்த்துவதன் என்றாலும் குறியீட்டு எப்போதும் நாங்கள் 129 00:08:12,830 --> 00:08:17,260 நிச்சயமாக எப்போதும் நாம் என்று செய்ய வேண்டும் ஆரம்பத்தில் சுற்றி 130 00:08:17,260 --> 00:08:20,050 ஒருபோதும் மிகாமல் சரம் நீளம். 131 00:08:20,050 --> 00:08:23,510 >> சரி, அதனால் நான் இருக்கும் என்று எனக்கு தெரியும் ஒரு சிறிய பிட் பெரும். 132 00:08:23,510 --> 00:08:26,670 இந்த ப செட் செய்ய இன்னும் நிறைய இருக்கிறது. 133 00:08:26,670 --> 00:08:30,050 எனவே, நீங்கள் எழுத என்று உறுதி நீங்களே ஒரு நல்ல சூடோகுறியீடு 134 00:08:30,050 --> 00:08:32,870 நீங்கள் புரிந்து கொள்ள வேண்டும் என்று மற்றும் என்று வேலை கிடைக்கிறது. 135 00:08:32,870 --> 00:08:35,580 முயற்சி மற்றும் ஒவ்வொரு முகவரியையும் ஒற்றை வரி சுயாதீனமாக 136 00:08:35,580 --> 00:08:38,370 அனைத்து சிறிய கண்டறிவதன் புதிர் சிறிய துண்டுகள் 137 00:08:38,370 --> 00:08:40,260 ஒன்றாக அதை வைத்து முன். 138 00:08:40,260 --> 00:08:43,110 >> நீங்கள் பெற முடியும் என்று உறுதி கட்டளை வரியிலிருந்து முக்கிய 139 00:08:43,110 --> 00:08:46,780 மற்றும், அது அகர தான் என்று உறுதி பயனர் உரை பெற, 140 00:08:46,780 --> 00:08:51,010 பின்னர் enciphering, நீங்கள் உறுதி ஒரு கடிதம் மறை எப்படி தெரியும், 141 00:08:51,010 --> 00:08:56,130 பின்னர் முழு சரம் முன்னேற செயல்பாடுகளை சுற்றி அனைத்து. 142 00:08:56,130 --> 00:08:59,610 இறுதியாக, நீங்கள் சைபர் உரையை அச்சிட முடியாது. 143 00:08:59,610 --> 00:09:04,050 >> என் பெயர், ஒரு Zamyla உள்ளது இந்த வைஜெனேர் இருந்தது. 144 00:09:04,050 --> 00:09:07,757