قسمت قبلی: برنامه نویسی جاواکارت در Netbeans
در قسمت قبل دیدیم که نسخههای جدید محیط برنامه نویسی Netbeans، به صورت پیشفرض، Pluginها و APIهای مورد نیاز برای برنامه نویسی جاواکارت را در خود دارند. متاسفانه در مورد محیط برنامه نویسی Eclipse اینگونه نیست (نویسنده از نسخهی جدید این نرم افزار اطلاع ندارد). بنابراین نیاز است که برنامه نویس خودش Plugin و APIهای مورد نیاز را به آن بیفزاید.
سوال: IDE چیست؟ Plugin چیست؟ API چیست؟
پاسخ: IDE یا Integrated Development Environment یا محیط برنامه نویسی در واقع نرم افزارهایی مانند Netbeans، Eclipse یا Visual Studio هستند که فضایی را برای برنامه نویس فراهم میآوردند که برنامههای خود را به صورت راحت تر بنویسد و Compile/Interpret کند.
API یا Application Programming Interface یا رابط برنامه نویسی نرم افزار، در واقع مجموعه ای از واسط/رابط ها بین برنامه ای که قرار است نوشته شود با کتابخانههای آن زبان یا سیستم عامل هستند. یکی از قابلیتهایی که IDE دارد این است که هنگام نوشتن برنامه و استفاده از این رابط های برنامه نویسی در کد برنامه، به صورت اتوماتیک چک میکند که آیا چنین رابطی وجود دارد یا خیر، و اگر موجود نبود، به برنامه نویس خطای استفاده از APIهای اشتباه میدهد و یا به وی کمک میکند آن را اصلاح کند. (بنابراین باید APIهای لازم را به محیط برنامه نویسی معرفی/اضافه کنیم).
و نهایتا Plugin مجموعه ای فایل است که برای یک نرم افزار مانند IDE نوشته شده اند که به آن قابلیتی اضافه کنند.
به صورت روشن تر، وقتی ما JCDK را از سایت Oracle دانلود میکنیم، همهی APIها و ابزارهای مورد نیاز برای نوشتن و ساخت یک اپلت در آن مجموعه وجود دارد. یعنی میتوانیم بدون استفاده از هیچگونه IDE ای، اپلت خود را بنویسیم و فایل cap آن را تولید کنیم! منتهی باید با Notepad یا ابزاری مشابه آن، و یک مجموعه ابزارهای خط فرمانی دست و پنجه نرم کنیم، و هیچ گونه هشداری به ما در مورد نوشتن یک اسم API اشتباه یا خطاهای مانند آن به ما داده نمی شود، و تنها در مراحل پایانی، هنگام Compile/Interpret به واسطه ی اجرا نشدن موفق فرایند، متوجه وجود یک خطا در برنامه میشویم. کاری که IDE با Plugin هایش برای ما انجام میدهد، مکانیزه کردن کل این فرایندها و مخفی کردن ابزارهای خط فرمانی و مراحل آن ها، در پس چند کلیک ساده است.
Eclipse:
خب، برای شروع، ابتدا Eclipse و سپس Java Card Development Kit 2.2.2 و پلاگین Eclipse-JCDE را دانلود میکنیم.
نکتهی مهم اول: Eclipse و Java Development Kit و Java Card Development Kit 2.2.2 و Windows چهار مورد باید یا 32 بیتی باشند یا 64 بیتی. تفاوت یکی از این موارد با موارد دیگر موجب ناسازگاری مجموعه میشود و عدم کارکرد صحیح میشود.
نکتهی مهم دوم: همانطور که پیشتر گفته بودیم، پلاگین Eclipse-JCDE تنها برای JCDK2.2.2 نوشته شده است. بنابراین شما باید این نسخه از JCDK را دانلود کنید. (با ترفندی میتوان از نسخه های پایین تر نیز استفاده کرد؛ لیکن، برای اجرای آن ترفندها، همچنان به نسخهی 2.2.2 نیز نیاز است).
اما بعد؛ پس از دانلود موارد بالا:
پست قبلی: الگوریتم های سزار و اِنیگما
در پست های قبلی این مجموعه، ابتدا با الگوریتمهای درهمنگاری(Hash) و الگوریتمهای Encoding/Decoding آشنا شدیم، تفاوت آنها را با الگوریتم های رمزنگاری (Encryption/Decryption) بررسی کردیم و در نهایت پس از بررسی مقدمات توسعهی رمزنگاری و علل نیاز به آن، در این پست قرار است به تقسیمبندی های الگورتیم های رمزنگاری امروزی بپردازیم.
قسمت قبلی: نسخههای جاواکارت و اصطلاحات
در قسمت های پیشین با ساختار کلّی جاواکارت و مفاهیم ابتدایی ضروری آن آشنا شدیم و دانستیم که برای آغاز به نوشتن یک اپلت و تبدیل آن به فایل cap. (فایلی که روی کارت بارگذاری و نصب میشود) ابتدا به یک IDE (محیط برنامه نویسی)، یک مجموعه API (واسط های از پیش نوشته شدهی JCDK , JDK)، یک ابزار برای بارگذاری و نصب اپلت و نهایتا یک ابزار برای ارتباط با آن نیاز داریم. در این قسمت مراحل نوشتن اپلت و تولید فایل cap. را در محیط Netbeans بررسی میکنیم.
Netbeans:
طبق آنچه پیش تر گفته شد، برنامه نویسی برای جاواکارت در محیط Netbeans، برای مواقعی مناسب از که کارت مورد نظر ما از نسخه ی جاواکارت 3.0.1 یا بالاتر پشتیبانی کند. البته لازم به ذکر است که به سبب Backward Compatible بودن استانداردهای جاواکارت، نوشتن اپلت هایی برای کارت های از ورژن پایین تر نیز در محیط Netbeans امکان پذیر است و حتی میتوان از آنها فایل cap. تولید کرد و در Simulatorهای این IDE آنها را بررسی کرد، لیکن، ورژن فایل نهایی 3.0.1 خواهد بود و قابلیت بارگذاری روی کارت پایین تر را نخواهد داشت.
و اما روند نوشتن و تولید اپلت:
پس از اجرای Netbeans، از منوی File گزینهی New Project را انتخاب میکتیم تا پنجره ی زیر ظاهر شود:
طبق تصویر بالا از سمت چپ گروه Java Card (چنانچه این گزینه را ندارید، باید نسخهی جدیدتری از Netbeans را دریافت کنید یا پلاگین های مربوطه را دانلود و نصب کنید) و از سمت راست نوع پروژه را Classic Applet Project (جهت آشنایی به قبلی آموزش مراجعه کنید) انتخاب میکنیم و روی Next کلیک میکنیم تا پنجرهی زیر ظاهر شود:
حالا که قدرتِ درک و تحلیلِ درخواستهای HTTP را به دست آوردیم، میخواهیم با این تواناییِ جدید، به سایتِ دیوار سر بزنیم و چند درخواست را با همدیگر تحلیل کنیم.
برای شروعِ کار، ابتدا همهی کوکیهای خود را که روی دیوار هستند پاک میکنیم.