فهرست مطالب:

برنامه رمزگذاری سزار در پایتون: 4 مرحله
برنامه رمزگذاری سزار در پایتون: 4 مرحله

تصویری: برنامه رمزگذاری سزار در پایتون: 4 مرحله

تصویری: برنامه رمزگذاری سزار در پایتون: 4 مرحله
تصویری: شکستن رمز سزار با پایتون 2024, جولای
Anonim
برنامه رمزگذاری سزار در پایتون
برنامه رمزگذاری سزار در پایتون

رمز سزار یک رمز قدیمی و پرکاربرد است که به راحتی رمزگذاری و رمزگشایی می شود. این کار با جابجایی حروف الفبا برای ایجاد یک الفبای کاملاً جدید کار می کند (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: اضافی

اضافی
اضافی
اضافی
اضافی

فایل کد ضمیمه شده است.

توصیه شده: