تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 44 +

تعداد کل مطالب : 338 +

تعداد نظرات : 33 +

حضرت محمد (ص) : طلب دانش بر هر مسلمانى واجب است. خداوند جويندگان دانش را دوست دارد.

آموزش مقدماتی تا پیشرفته سی شارپ بخش صد و شصت و هشتم


 به نام خداوند جان آفرین حکیم سخن در زبان آفرین



آموزش مقدماتی تا پیشرفته سی شارپ بخش صد و شصت و هشتم

سلام به همه کاربران وب‌سایت لندلرن

قسمت و صد و شصت و هشتم


امضا كردن اسمبلي ها :

يك راه براي مشخص كردن اين موضوع كه يك اسمبلي به وسيله ي چه كسي نوشته شده است اين است كـه آن اسـمبلي امـضا شود.

براي انجام اين كار مي توانيد يك جفت -كليد ايجاد كرده و سپس با اين كليد ها اسمبلي را امضا كنيد .

اين كليد ها هنگامي كه توليد مي شوند به صورت منحصر به فرد هستند .

بنابراين وقتي توسط فرد يا شركتي براي امضا كردن يك اسمبلي به كار رونـد، مـي توان از نوشته شدن آن اسمبلي توسط آن فرد و يا شركت مطمئن شد .

اصولي كه در پشت امضا كردن اين اسمبلي ها به كار مي روند مباحث كاملاً پيچيده اي هستند، اما نحوه ي انجام اين كار بسيار ساده است .

نكته: يك اسمبلي كه به صورت قوي نامگذاري مي شود نمي تواند از يك اسمبلي كه به صورت عادي نامگذاري شده است استفاده كند، زيرا به اين ترتيب ممكن است كنترل نسخه ها در اين اسمبلي از بين برود.

نامگذاري يك اسمبلي به صورت قوي شامل دو مرحله مي شود :

  • ايجاد يك جفت -كليد كه براي نامگذاري اسمبلي به كار مي رود . نحوه ي انجام اين كار را در بخـش امتحـان كنيـد بعـد مشاهده خواهيد كرد.
  • كليد ايجاد شده را به اسمبلي اضافه كنيد . به اين ترتيب هنگام كامپايل اسمبلي اين كليد براي نامگذاري قوي آن بـه كـار مي رود.

امتحان كنيد: ايجاد يك جفت-كليد

  • با استفاده از منوي Start در ويندوز گزينه ي developer Command Prompt for VsS2015  را جستجو کرده  و اجرا کنید.
  • به اين ترتيب فايلي مربوط به يك جفـت -كليـد در دايركتـوري كـه در آن قـرار دا ريـد ايجـاد مـي شـود ( در اين حالـت C:\Program Files (x86)\Microsoft Visual Studio 14.0 )

چگونه كار مي كند؟

اجراي خط فرمان ويژوال استوديو ۲۰۱۷ باعث مي شود محيطي همانند محيط DOS نمايش داده شود كه اين محيط بـراي كـار بـا ابزارهاي ويژوال استوديو تنظيم شده است.

يكي از اين ابزارها كه براي ايجاد جفت-كليد به كار مي رود، فايـل sn.exe اسـت و به صورت دستور sn مورد استفاده قرار مي گيرد .

هنگام اجراي اين دستور از سوييچ k استفاده مي كنيم تـا تعيـين كنـيم كـه مـي خواهيم يك جفت-كليد جديد در فايل مشخص شده ايجاد كنيم.

بعــد از اجـــراي ايـــن دســتور يــك جفـــت كليـــد در فايـــل InternetFavoritesKey.snk بـــه آدرس C:\Program Files (x86)\Microsoft Visual Studio 14.0 ایجاد میشود.
اگر بخواهید می توانيد اين فايل را به مكان مناسب تري مانند فولدر پروژه انتقال دهيد .

در بخش امتحان كنيد بعد نحوه ي اسـتفاده از فايـل را بـراي نامگذاري قوي يك اسمبلي مشاهده خواهيم كرد.

امتحان كنيد: نامگذاري قوي اسمبلي InternetFavorites

  • در پنجره ي Solution Explorer روي گزينه ي Properties در قـسمت مربـوط بـه پـروژه ي InternetFavorites دو بار كليك كنيد .
  • در نوار سمت چپ پنجره اي كه نمايش داده مي شود روي عبارت Signing كليك كنيد.
  • در اين قسمت گزينه ي “Sign  the assembly “را انتخاب كنيد.
  • در قسمت Choose a strong  name key file  كليـك كـرده و گزينـه ي …Browse را انتخاب كنيد.
  • سپس در پنجره ي نمايش داده شده به آدرس فايل جفت -كليدي كه ايجاد كـرده ايـد برويـد و آن فايـل را انتخاب كنيد.
  • برنامه را مجدداً كامپايل كنيد.
  • به اين ترتيب فايل dll توليد شده به صورت قوي نامگذاري خواهد شد.

چگونه كار مي كند؟

هنگامي كه يك جفت كليد را به اين صورت به برنامه اضافه مي كنيد، كامپايلر كليد عمومي اين جفت كليد را به اسمبلي اضافه مـي كند. همچنين با استفاده از كليد خصوصي، محتويات اسمبلي را به نحوي خاص كدگذاري كرده و متن كد شده را در اسمبلي قرار مي دهد .

در سيستم رمزنگاري با استفاده از كليدهاي عمومي -خصوصي، يك پيغام با استفاده از يكي از اين كليد ها رمز گذاري مـي شـود امـا براي باز كردن رمز آن بايد از كليد ديگر استفاده كرد.

به عبارت ديگر با استفاده از يك كليد نمي توانيد هم عمل قفـل كـردن و هـم عمل باز كردن پيغام را انجام دهيد .

بنابراين اگر در اين روش يك متن را با استفاده از كليد اول قفل كنيد، تمام افرادي كه كليـد دوم را در اختيار دارند مي توانند متن قفل شده را بخوانند، اما نمي توانند آن را تغيير داده،  مجدداً قفل كرده و توزيع كنند.

براي امضاي اسمبلي ها با استفاده از اين روش به اين صورت عمل مي شود كه بعد از ايجاد فايل اسمبلي، محتويات آن را با استفاده از كليد خصوصي قفل كرده، سپس فايل قفل شده را به همراه كليد عمومي توزيع كنيد.

به اين ترتيب تمام افراد مي توانند با اسـتفاده از كليد عمومي اين فايل را باز كرده و از آن استفاده كنند .

اما نمي توانند آن را تغيير داده و مجدداً قفل كنند. بنابراين با استفاده از اين روش مي توان مطمئن شد كه فردي به جز دارنده ي كليد خصوصي نمي تواند فايل را تغيير دهد.

بررسي اين موارد توسط ويژوال استوديو انجام مي شود . به اين صورت كه اگر فايلي كه به صورت قوي نامگذاري شده اسـت توسـط افراد ديگري تغيير داده شود، ويژوال استوديو از اجراي اين فايل خودداري خواهد كرد .

البته به علت اينكه حجم يك اسـمبلي معمـولاً زياد است و قفل گذاري و باز كردن آن ممكن است باعث كاهش سرعت شود، در ايـن روش قـسمت خاصـي از فايـل اسـمبلي كـد گذاري مي شود كه البته اين قسمت نيز قابل تشخيص نيست و به صورت پراكنده انتخاب مي شود .

نسخه هاي يك اسمبلي را در قسمت صد و شصت و نهم دنبال کنید.

 


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ