رمزنگاری سزار در جاوا (caesar cipher)

در این قسمت تیم کدگیت را با آموزش رمزنگاری سزار در جاوا همراهی کنید. رمزنگاری سزار یکی از اولین و ساده‌ترین نوع رمزنگاری می‌باشد. در این جلسه الگوریتم این رمزنگاری و پیاده سازی آن در جاوا را توضیح خواهیم داد. قبل از بررسی این جلسه، پیشنهاد می‌کنیم آموزش‌های زیر را مطالعه کنید:

  1. متد در جاوا
  2. حلقه For در جاوا
  3. If در جاوا

رمزنگاری جانشینی

در رمزنگاری جانشینی هر حرف یا گروهی از حروف با یک حرف یا گروهی دیگر از حروف جابجا می‌شوند تا در نتیجه شکل پیام بهم بریزد. یکی از قدیمی ترین رمزهای شناخته شده به روش رمز جانشینی، روش رمزنگاری سزار است.

رمزنگاری سزار

رمزنگاری سزار یکی از ساده‌ترین و شناخته‌شده‌ترین تکنیک‌های رمزگذاری است. رمزنگاری سزار یکی از انواع رمزنگاری جانشینی (جایگزینی حروف) می‌باشد. در اين الگوريتم جايگزيني حروف براساس ترتيب در حروف الفبا انجام مي شود. به عنوان مثال در صورت یک بار شیفت خوردن حروف، حرف A تبدیل به B می‌شود و B به C و …. .

فرض کنید حروف الفبا زیر را داریم:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

با توجه به الگوریتم سزار حروف فوق را سه بار شیفت می‌دهیم. رشته تبدیل یافته به صورت زیر است:

DEFGHIJKLMNOPQRSTUVWXYZABC

با دانستن رشته تبدیل یافته اگر ما بخواهیم کلمه Codegate را به روش سزار(سه بار شیفت) رمز کنیم، کلمه رمز به صورت FrghJdwh می‌باشد.

رمزنگاری سزار در جاوا

برای پیاده سازی رمزنگاری سزار در جاوا باید چند نکته را به یاد داشت:

  • کاراکترهای حروف انگلیسی 26 عدد می‌باشد.
  • کاراکترهای حروف بزرگ در جاوا از عدد 65 شروع می‌شوند
  • کاراکترهای حروف کوچک از عدد 97 شروع می‌شوند.
بیشتر بخوانید:  JComboBox در جاوا (Swing Graphic in Java)

به عنوان مثال اگر بخواهیم حرف A را در جاوا به صورت integer چاپ کنیم در خروجی عدد 65 چاپ خواهد شد. با دانستن موضوع فوق به کد زیر دقت کنید:

به طور کلی ما در کد بالا متنی را گرفته و با توجه به مقدار شیفت حروف، تک به تک کاراکتر متن را خوانده و آنها را تبدیل کرده‌ایم. متد بالا متن رمز شده را در خروجی به ما می‌دهد. در کد فوق یک متد به نام encrypt نوشتیم که دو ورودی می‌گیرد:

  • Text: متنی که میخواهیم آن را رمز کنیم
  • S: مقدار شیفت حروف

تست کد رمزنگاری سزار در جاوا

برای تست کد فوق، Main زیر را اجرا کنید:

بیشتر بخوانید:  تبدیل اعداد هگزادسیمال به دهدهی در جاوا

خروجی کد فوق به صورت زیر می‌باشد:

Text  : CodeGate

Shift : 3

Cipher: FrghJdwh

    پسورد فایل کد: www.codegate.ir

    دیدگاهتان را بنویسید

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *