فهرست مطالب:
- تدارکات
- مرحله 1: اعلام متغیرها و دریافت ورودی ها
- مرحله 2: ایجاد الفبای جدید
- مرحله 3: تغییر پیام
- مرحله 4: اضافی
تصویری: برنامه رمزگذاری سزار در پایتون: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
رمز سزار یک رمز قدیمی و پرکاربرد است که به راحتی رمزگذاری و رمزگشایی می شود. این کار با جابجایی حروف الفبا برای ایجاد یک الفبای کاملاً جدید کار می کند (ABCDEF می تواند بیش از 4 حرف را تغییر دهد و EFGHIJ می شود).
Cesar Ciphers امن ترین رمزنگاران موجود نیست ، اما برای کارهای کوچک مانند ارسال یادداشت های مخفی یا کمی تقویت گذرواژه مناسب است. رمزگشایی کد واقعا آسان است ، اما اگر الفبای خاصی را حفظ نکنید ، رمزگذاری آن خسته کننده خواهد بود.
برای سهولت این فرآیند ، می توانیم از قدرت رایانه ها ، به ویژه زبان برنامه نویسی پایتون ، استفاده کنیم.
این دستورالعمل به شما نشان می دهد که چگونه برنامه ای ایجاد کنید که پیامها را به دستور شما به رمز تبدیل می کند.
تدارکات
تنها چیزی که نیاز دارید یک مترجم پایتون است: IDLE ، Pycharm و Thonny چند گزینه خوب و رایگان هستند (من از Pycharm استفاده کردم)
آشنایی اولیه با پایتون
مرحله 1: اعلام متغیرها و دریافت ورودی ها
برای ذخیره مقادیر رشته (متن) الفبا ، پیام ، shift و … باید از متغیرها استفاده کنیم. ما با اعلام متغیرهای "alphabet" ، "partialOne" ، "partialTwo" و "newAlphabet" شروع می کنیم. من نام متغیرهای Camel Case را در کد خود نوشته ام (اولین کلمه کوچک و دوم بزرگ است) اما می توانید آن را به هر نحوی که می خواهید بنویسید ، به شرطی که به یاد داشته باشید که آن را در بقیه کد نیز تغییر دهید. به متغیر الفبا دارای مقدار "abcdefghijklmnopqrstuvwxyz" است. همه متغیرهای دیگر روی "" تنظیم شده اند ، که یک رشته خالی است زیرا ما هنوز مقادیر آنها را نداریم.
کاری که ما انجام می دهیم این است که سیستم Partial را راه اندازی کنیم ، چیزی که ما در واقع برای ایجاد تغییر استفاده می کنیم. در مرحله بعد توضیح داده خواهد شد.
پس از این ، ما باید پیام را دریافت کرده و مقدار را از کاربر تغییر دهیم. برای این کار از تابع ورودی استفاده می کنیم. این قسمت از کد از کاربر یک پیام و یک شماره می خواهد که الفبای آن را تغییر دهد.
کد:
الفبا = "abcdefghijklmnopqrstuvwxyz"
partialOne = ""
partialTwo = ""
newAlphabet = ""
message = input ("لطفاً پیامی را که می خواهید ترجمه کنید وارد کنید:").lower ()
key = int (ورودی ("لطفاً عددی را که می خواهید با آن تغییر دهید وارد کنید"))
مرحله 2: ایجاد الفبای جدید
در حال حاضر برای ایجاد الفبای تغییر یافته است. برای این کار از سیستم جزئی استفاده می کنیم. سیستم جزئی جایی است که رایانه الفبا را به دو قسمت تقسیم می کند (روشی فانتزی برای گفتن قطعات). قسمت اول با این وجود به مدت طولانی است که به برنامه گفته اید که تغییر کند ، و قسمت دوم بقیه است. کامپیوتر جزئی را تغییر می دهد. این دقیقاً همان کاری است که کد انجام می دهد ، همراه با عبارت اول ، که می گوید اگر shift 0 باشد ، الفبای جدید و الفبای قدیمی یکسان هستند زیرا شما هیچ چیزی را تغییر نمی دهید.
مثلا:
دنباله - 123456789
جزئی یک - 123 ؛ قسمت دوم - 456789
دنباله جدید - 456789123
کد:
اگر کلید == 0:
newAlphabet = الفبا
کلید elif> 0:
partialOne = الفبا [: کلید]
partialTwo = الفبا [کلید:]
newAlphabet = partialTwo + partialOne
دیگری:
partialOne = الفبا [:(26 + کلید)]
partialTwo = الفبا [(کلید 26 +):]
newAlphabet = partialTwo + partialOne
مرحله 3: تغییر پیام
اکنون ما الفبای خود و الفبای جدید را داریم. تنها چیزی که باقی می ماند این است که پیام را به کد تبدیل کنید.
ابتدا یک متغیر جدید تنظیم می کنیم و آن را "رمزگذاری شده" می نامیم و روی "" قرار می دهیم. سپس یک حلقه for واقعاً پیچیده می نویسیم که هر حرف را در پیام بررسی می کند و آن را به حرف جدید تغییر می دهد. نتیجه را خروجی می دهد و در آنجا آن را دارید ، یک کد با موفقیت تبدیل شده است!
کد:
encrypted = "" for message_index in range (0، len (message)):
اگر پیام [message_index] == "":
رمزگذاری شده+= ""
برای alphabet_index در محدوده (0 ، len (newAlphabet)):
اگر پیام [message_index] == حروف الفبا [alphabet_index]:
رمزگذاری شده+= newAlphabet [alphabet_index]
چاپ (رمزگذاری شده)
مرحله 4: اضافی
فایل کد ضمیمه شده است.
توصیه شده:
DIY GPS Tracker --- برنامه پایتون: 5 مرحله (همراه با تصاویر)
DIY GPS Tracker --- برنامه پایتون: من دو هفته پیش در یک رویداد دوچرخه سواری شرکت کردم. پس از اتمام کار ، می خواستم مسیر و سرعتی را که در آن زمان حرکت می کردم بررسی کنم. متأسفانه به نتیجه نرسید. اکنون من از ESP32 برای ساخت ردیاب GPS استفاده می کنم و از آن برای ثبت مسیر دوچرخه سواری خود استفاده می کنم
برنامه پایتون - ترکیب سود با مشارکت ماهانه/واریز: 5 مرحله
برنامه پایتون - ترکیب سود با مشارکت/سپرده ماهانه: برنامه ای برای محاسبه سود مرکب با سهم ماهانه در پایان ماه. فرمول برگرفته از TheCalculatorSite.com: سود ترکیبی برای اصل: P (1+r/n)^(nt) ارزش آینده یک سری: PMT × (((1 + r/n)^nt - 1)/(r/n))
Iterator (برنامه GUI پایتون): 5 مرحله
Iterator (برنامه گرافیکی Python GUI): سلام بچه ها ، من با یک آموزش عالی دیگر برگشتم. این بار پایتون را یاد گرفتم و فکر کردم پس از یادگیری یک زبان برنامه نویسی ، بهتر است نرم افزاری را توسعه دهم. بنابراین من ایده ای گرفتم که چرا نرم افزاری ایجاد نکنم که بتواند به کار خسته کننده کمک کند
برنامه نویسی آردوینو با پایتون: 8 مرحله
برنامه نویسی آردوینو با پایتون: در این مقاله قصد داریم Arduino را با پایتون GUI کنترل کنیم. کار با پایتون بسیار آسان است من قصد دارم هر مرحله را از ابتدا با جزئیات به اشتراک بگذارم
نرم افزار رمزگذاری/رمزگشایی امنیت پایتون: 3 مرحله
نرم افزار رمزگذاری/رمزگشایی امنیت پایتون: در این دستورالعمل به شما نشان خواهم داد که چگونه می توانید با استفاده از پایتون ساده ، فایل های خود را با استفاده از استاندارد AES صنعت ایمن نگه دارید. می تواند به راحتی توسط