در این مطلب، ویدئو چگونه می توان با استفاده از پایتون یک سیستم رمزگذاری رمز سزار ایجاد کرد؟ با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:13:44
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,080 –> 00:00:02,159
بسیار خوب، ما به زبان پایتون
2
00:00:02,159 –> 00:00:04,640
هستیم و سعی می کنیم برنامه ای بسازیم
3
00:00:04,640 –> 00:00:07,279
که um
4
00:00:07,279 –> 00:00:10,719
کلمات را با استفاده از سیستم رمزنگاری رمز سزار رمزگذاری
5
00:00:10,719 –> 00:00:12,240
کند، بسیار خوب است،
6
00:00:12,240 –> 00:00:13,599
بنابراین ما چیزهای زیادی را بررسی کرده ایم، بنابراین
7
00:00:13,599 –> 00:00:14,480
8
00:00:14,480 –> 00:00:16,800
دانش پیش زمینه ای که برای آن نیاز داریم وجود دارد. این
9
00:00:16,800 –> 00:00:18,960
نموداری بود که ما ساخته بودیم و این
10
00:00:18,960 –> 00:00:21,920
نمودار به ما کمک می کند تا مراحل خود را تنظیم کنیم،
11
00:00:21,920 –> 00:00:23,920
بنابراین اولین گام در نمودار ما
12
00:00:23,920 –> 00:00:26,080
دریافت ورودی از
13
00:00:26,080 –> 00:00:28,000
کاربرمان بود که پیام خوب است،
14
00:00:28,000 –> 00:00:29,039
بنابراین برای انجام این کار ما
15
00:00:29,039 –> 00:00:30,640
پیغام خودمان را اینجا تعریف میکنیم، بنابراین
16
00:00:30,640 –> 00:00:32,079
تابع خودمان را ایجاد میکنیم، آن را صدا میزنیم
17
00:00:32,079 –> 00:00:35,200
دریافت پیام
18
00:00:35,200 –> 00:00:36,399
خوب است
19
00:00:36,399 –> 00:00:38,640
کولون ما را راهاندازی کنیم و میخواهیم برنامه
20
00:00:38,640 –> 00:00:40,879
چاپ
21
00:00:40,879 –> 00:00:43,879
شود، پیام
22
00:00:44,000 –> 00:00:45,920
خود را وارد کنید
23
00:00:45,920 –> 00:00:47,039
24
00:00:47,039 –> 00:00:49,840
خوب اجازه دهید من یک تماس برقرار کنم عالی است
25
00:00:49,840 –> 00:00:52,559
و سپس ما می خواهیم که برنامه
26
00:00:52,559 –> 00:00:55,120
ورودی کاربر را برگرداند که بسیار مهم است،
27
00:00:55,120 –> 00:00:57,440
بنابراین این تابع
28
00:00:57,440 –> 00:00:58,640
اطلاعات را از کاربر دریافت می کند، بنابراین
29
00:00:58,640 –> 00:01:00,239
ما اولین مورد خود را تعریف کرده ایم.
30
00:01:00,239 –> 00:01:02,160
مرحله بعدی در نمودار در
31
00:01:02,160 –> 00:01:04,559
واقع دریافت مقدار برای
32
00:01:04,559 –> 00:01:06,320
کلید برای رمز سزار، بنابراین آنها نیاز
33
00:01:06,320 –> 00:01:07,920
به دادن دارند ما
34
00:01:07,920 –> 00:01:11,280
حروف را 2 در 3 به 5 در 15
35
00:01:11,280 –> 00:01:13,200
90 تغییر می دهیم که بسیار بزرگتر از حروف الفبا است،
36
00:01:13,200 –> 00:01:14,720
بنابراین در واقع باید آن را بپیچم، اما
37
00:01:14,720 –> 00:01:17,200
ما آن را نیز تعریف می کنیم، بنابراین
38
00:01:17,200 –> 00:01:19,520
آن را رمز می نامیم.
39
00:01:19,520 –> 00:01:22,799
مقدار رمز را دریافت کنید خوب است
40
00:01:22,799 –> 00:01:24,479
ما دو نقطه خود را تنظیم می کنیم و می خواهیم
41
00:01:24,479 –> 00:01:26,960
بگوییم print
42
00:01:26,960 –> 00:01:28,720
um
43
00:01:28,720 –> 00:01:30,079
44
00:01:30,079 –> 00:01:32,640
کلید رمز را وارد کنید در
45
00:01:32,640 –> 00:01:34,240
46
00:01:34,240 –> 00:01:36,960
آنجا می رویم و همان مفهوم را باید
47
00:01:36,960 –> 00:01:39,960
48
00:01:40,320 –> 00:01:44,000
برگردانیم ورودی کاربر را خوب برگردانیم بنابراین
49
00:01:44,000 –> 00:01:46,399
هر دوی این توابع خوب پیام
50
00:01:46,399 –> 00:01:49,119
دریافت کنید شما رمز را دریافت می کنید مقداری که سوالی می
51
00:01:49,119 –> 00:01:51,680
پرسند و در ازای آن چیزی دریافت می کنند بسیار خوب،
52
00:01:51,680 –> 00:01:54,479
بنابراین کاری که می خواهیم انجام دهیم این است که می خواهیم
53
00:01:54,479 –> 00:01:55,920
پیام اصلی را دریافت کنیم، بنابراین من
54
00:01:55,920 –> 00:01:58,240
به آن پیام متغیری می دهم
55
00:01:58,240 –> 00:02:00,079
که برابر با تابعی است که ما ساخته ایم به
56
00:02:00,079 –> 00:02:02,159
نام get message
57
00:02:02,159 –> 00:02:04,079
get پیام وجود دارد ما می رویم آن را به خوبی دارد،
58
00:02:04,079 –> 00:02:06,479
بنابراین این برنامه فقط برای شروع
59
00:02:06,479 –> 00:02:08,318
یک اجرا کوچک انجام می دهیم و بررسی می کنیم که آن را اجرا می کنیم
60
00:02:08,318 –> 00:02:10,479
پیام خود را وارد کنید
61
00:02:10,479 –> 00:02:12,720
سلام
62
00:02:12,720 –> 00:02:14,720
بیایید فقط آن را با سلام بگذاریم عالی
63
00:02:14,720 –> 00:02:17,040
است این همه این برنامه کار بعدی را درست می کند
64
00:02:17,040 –> 00:02:19,120
که می خواهیم انجام این کار این است که می خواهیم بفهمیم
65
00:02:19,120 –> 00:02:20,300
66
00:02:20,300 –> 00:02:21,599
[موسیقی]
67
00:02:21,599 –> 00:02:23,120
ما می خواهیم بفهمیم که چه چیزی y است بنابراین
68
00:02:23,120 –> 00:02:24,400
ما میخواهیم بگوییم
69
00:02:24,400 –> 00:02:27,120
کلید برابر است با دریافت رمز،
70
00:02:27,120 –> 00:02:29,280
بنابراین این تابع ساخته شده ما است، اکنون
71
00:02:29,280 –> 00:02:31,040
یک مشکل کوچک
72
00:02:31,040 –> 00:02:33,040
وجود دارد که در عرض یک ثانیه به آن خواهیم رسید، بیایید این را
73
00:02:33,040 –> 00:02:35,760
در اینجا اجرا کنیم پیام خود را وارد کنید
74
00:02:35,760 –> 00:02:38,319
. دوست دارم مقدار رمز را دریافت کنم،
75
00:02:38,319 –> 00:02:41,040
76
00:02:44,560 –> 00:02:45,519
77
00:02:45,519 –> 00:02:47,760
اوه، خوب است اگر میگفتم ورودی وجود دارد، میرویم،
78
00:02:47,760 –> 00:02:50,319
بیایید دوباره امتحان کنیم، متأسفانه
79
00:02:50,319 –> 00:02:52,879
املای آن اشتباه است سلام
80
00:02:52,879 –> 00:02:55,680
و از نظر تاریخی رمز سزار
81
00:02:55,680 –> 00:02:57,920
سه بوده است، پس سلام، ما میرویم سه، بنابراین
82
00:02:57,920 –> 00:02:59,360
آن اطلاعات را دریافت کرده است و اکنون به آن
83
00:02:59,360 –> 00:03:01,840
پیام متغیر
84
00:03:01,840 –> 00:03:03,840
hello یا هر پیام دیگری در
85
00:03:03,840 –> 00:03:06,239
کلید شماره سه اختصاص داده شده است عالی است، اکنون باید کارهایی را با اینها انجام دهیم،
86
00:03:06,239 –> 00:03:09,040
87
00:03:09,040 –> 00:03:10,720
بنابراین کاری که می خواهیم انجام دهیم این است که
88
00:03:10,720 –> 00:03:12,640
رمزگذاری
89
00:03:12,640 –> 00:03:15,360
انجام دهیم تا اجرا کنیم.
90
00:03:15,360 –> 00:03:17,360
یک حلقه و این حلقه
91
00:03:17,360 –> 00:03:18,480
از میان هر یک از حروف
92
00:03:18,480 –> 00:03:20,159
پیام عبور می کند، بنابراین پیام در این مورد
93
00:03:20,159 –> 00:03:22,080
فقط کلمه hello است، بنابراین ما در مورد یک
94
00:03:22,080 –> 00:03:24,799
حلقه for صحبت کردیم که می خواهیم در
95
00:03:24,799 –> 00:03:25,680
96
00:03:25,680 –> 00:03:27,280
پیام 4x بگوییم زیرا نمی دانیم
97
00:03:27,280 –> 00:03:28,400
پیام چیست که باید
98
00:03:28,400 –> 00:03:30,239
متغیر
99
00:03:30,239 –> 00:03:31,120
um را
100
00:03:31,120 –> 00:03:34,799
که باید رمزگذاری کنیم به آن بدهیم مشکلی نیست، بنابراین برای
101
00:03:34,799 –> 00:03:35,760
um
102
00:03:35,760 –> 00:03:37,760
x در پیام، ما یک رمزگذاری را اجرا می کنیم،
103
00:03:37,760 –> 00:03:40,239
خوب حالا این بخش
104
00:03:40,239 –> 00:03:41,680
کمی پیچیده تر است،
105
00:03:41,680 –> 00:03:43,599
کاری که باید انجام دهیم این است که باید
106
00:03:43,599 –> 00:03:45,840
آن را به ازای هر کاراکتر از هم جدا کنیم تا x
107
00:03:45,840 –> 00:03:46,720
از هر یک از نویسه ها عبور کند.
108
00:03:46,720 –> 00:03:48,000
کاراکترهای موجود در پیام، برای
109
00:03:48,000 –> 00:03:49,519
مثال کلمه hello با حرف بزرگ h شروع میشود،
110
00:03:49,519 –> 00:03:50,959
111
00:03:50,959 –> 00:03:53,280
کاری که باید انجام دهیم این است که
112
00:03:53,280 –> 00:03:55,040
تعداد معینی از مقادیر را جابجا کرده و سپس
113
00:03:55,040 –> 00:03:57,360
آنها را دوباره به هم متصل کنیم، بنابراین چیزی
114
00:03:57,360 –> 00:03:59,360
که در واقع میخواهیم ایجاد کنیم درست
115
00:03:59,360 –> 00:04:01,360
قبل از متغیرهای اصلی باشد. من
116
00:04:01,360 –> 00:04:02,959
این را متغیری به نام
117
00:04:02,959 –> 00:04:05,519
encryption
118
00:04:06,640 –> 00:04:07,599
okay می نامم
119
00:04:07,599 –> 00:04:09,519
و در واقع یک
120
00:04:09,519 –> 00:04:10,879
رشته خالی برای شروع
121
00:04:10,879 –> 00:04:12,959
خوب خواهد بود و دلیلی را خواهید دید که چرا برای
122
00:04:12,959 –> 00:04:15,519
x در پیام است، بنابراین ما همچنان در تب هستیم که
123
00:04:15,519 –> 00:04:18,720
می خواهیم آن متغیر را رمزگذاری کنیم.
124
00:04:18,720 –> 00:04:21,120
با هر چیزی که در ابتدا وجود داشت برابر باشد،
125
00:04:21,120 –> 00:04:23,520
بنابراین برای شروع
126
00:04:23,520 –> 00:04:27,120
رمزگذاری که یک رشته خالی است،
127
00:04:27,120 –> 00:04:31,520
به علاوه ما می خواهیم در um
128
00:04:31,520 –> 00:04:34,000
اضافه کنیم، می خواهیم رشته خود را در اینجا اضافه کنیم،
129
00:04:34,000 –> 00:04:35,440
بنابراین باید این را به
130
00:04:35,440 –> 00:04:37,040
یک رشته برگردانیم، بنابراین در واقع اجازه دهید شروع کنیم
131
00:04:37,040 –> 00:04:39,680
کمی راحت تر با این ام
132
00:04:39,680 –> 00:04:40,880
تی حرف اول او
133
00:04:40,880 –> 00:04:43,919
حرف h خواهد بود، بنابراین کاری که باید انجام دهیم این است
134
00:04:43,919 –> 00:04:46,720
که باید
135
00:04:46,720 –> 00:04:48,880
در نمودار ascii
136
00:04:48,880 –> 00:04:50,720
یا در نمودار
137
00:04:50,720 –> 00:04:52,800
یونیکد نمودار یونیکد تبدیل کنیم، باید بگویم که باید
138
00:04:52,800 –> 00:04:55,680
با استفاده از تابع ord همان
139
00:04:55,680 –> 00:04:58,000
حرف اول را تبدیل کنیم.
140
00:04:58,000 –> 00:05:00,160
در این مورد x خواهد بود زیرا به یاد داشته باشید که x از
141
00:05:00,160 –> 00:05:01,680
میان هر یک از حروف موجود در
142
00:05:01,680 –> 00:05:02,960
آن پیام عبور می کند،
143
00:05:02,960 –> 00:05:05,919
بنابراین x خوب می شود و کاری که ما
144
00:05:05,919 –> 00:05:08,840
می خواهیم انجام دهد این است که می خواهیم
145
00:05:08,840 –> 00:05:13,039
فقط مقدار
146
00:05:13,680 –> 00:05:15,360
کلید را اضافه کنیم زیرا آنها.
147
00:05:15,360 –> 00:05:16,960
کلید ما را دوباره وارد
148
00:05:16,960 –> 00:05:18,800
کنید بسیار خوب حالا چیزی که متوجه خواهید شد این است
149
00:05:18,800 –> 00:05:20,080
که من با مشکلی مواجه خواهم شد، ما
150
00:05:20,080 –> 00:05:21,600
این برنامه را به سرعت اجرا می کنیم،
151
00:05:21,600 –> 00:05:22,639
سلام
152
00:05:22,639 –> 00:05:24,880
و سه می گوییم و بنگ ما با مشکل مواجه می
153
00:05:24,880 –> 00:05:27,360
شویم و این به این دلیل است که ما اجرا می کنیم
154
00:05:27,360 –> 00:05:29,199
مشکلی با انواع ترس و عدد صحیح است که
155
00:05:29,199 –> 00:05:31,120
در این مورد ما به عدد صحیح تبدیل کرده ایم
156
00:05:31,120 –> 00:05:33,759
اما سپس از آن خواسته ایم که
157
00:05:33,759 –> 00:05:35,759
به یک رشته بپیوندد
158
00:05:35,759 –> 00:05:38,400
.
159
00:05:38,400 –> 00:05:40,560
این
160
00:05:40,560 –> 00:05:43,199
مقدار به عنوان یک رشته است، بنابراین برای
161
00:05:43,199 –> 00:05:44,800
اینکه آن را بفهمیم، بنابراین این به
162
00:05:44,800 –> 00:05:47,280
ما می دهد شماره من در اینجا بسیار خوب است، بنابراین در واقع
163
00:05:47,280 –> 00:05:48,800
اجازه دهید همین
164
00:05:48,800 –> 00:05:50,960
حالا یادم میآید که به اینجا نگاه
165
00:05:50,960 –> 00:05:52,400
میکنم و فکر میکنم اشتباهاتم را انجام دادهام، اما
166
00:05:52,400 –> 00:05:54,720
در واقع خطای من در کلید اینجاست،
167
00:05:54,720 –> 00:05:55,680
کلید
168
00:05:55,680 –> 00:05:59,039
در حال حاضر در رشته است، من نیاز دارم
169
00:05:59,039 –> 00:06:00,880
که یک عدد صحیح باشد، بنابراین من. m در واقع میخواهم
170
00:06:00,880 –> 00:06:04,319
عدد صحیح تابع داخلی را اجرا
171
00:06:04,319 –> 00:06:06,400
کنم، مشکل من این بود که فرض میکردم که او
172
00:06:06,400 –> 00:06:08,560
قبلا یک عدد صحیح بوده است، اما اینطور نیست که
173
00:06:08,560 –> 00:06:10,240
کاربر آن را به عنوان یک رشته وارد کند، بنابراین
174
00:06:10,240 –> 00:06:11,919
وقتی عدد 3 را وارد
175
00:06:11,919 –> 00:06:13,280
میکنم، کامپیوتر این را بهعنوان یک عدد میخواند. رشته i می
176
00:06:13,280 –> 00:06:15,520
خواهم آن را به یک عدد صحیح تغییر دهم تا وقتی
177
00:06:15,520 –> 00:06:18,800
تابع یا را با حرف x اجرا
178
00:06:18,800 –> 00:06:20,639
کنیم که به یک مقدار عددی تبدیل می شود و این
179
00:06:20,639 –> 00:06:22,880
یک مقدار عددی است، اعداد صحیح را
180
00:06:22,880 –> 00:06:24,000
با هم جمع
181
00:06:24,000 –> 00:06:26,960
می کند و سپس آن را به عنوان یک کاراکتر برمی گرداند
182
00:06:26,960 –> 00:06:28,479
و آن را
183
00:06:28,479 –> 00:06:30,800
به رمزگذاری ما اضافه می کند، بنابراین بیایید بگوییم
184
00:06:30,800 –> 00:06:32,840
سلام