open/close search
Iranian Developers / logo
ارتباط با ماOpen Source projectsسایتهـــای مــرتبطهمه نکات مهم بهترین های ایرانخارج از محدودهمقالات و تجربیاتAbout Iranian Developers
articles
title pic

ذخیره اطلاعات مهم به صورت کد شده در ادوبی AIR

برای ذخیره اطلاعات در برنامه های AIR می توانید از Shared Objects استفاده کنید و یا حتی File API اما می دانید که هیچ کدام امنیت مورد نیاز برای ذخیره اطلاعات حساس را ندارد ، زمانی که شما از Shared Objects استفاده می کنید دیگر برنامه های توسعه یافته تحت پلتفرم AIR هم می توانند به انها دسترسی داشته باشند . اما خوشبختانه ادوبی راه حلی برای ان در نظر گرفته است .

برنامه هایی که تحت پلتفرم AIR برای ارتباط با وب ساخته می شوند ، همگی با دیتا و اطلاعات سرو کار دارند و بر روی دسکتاپ کاربر اجرا می شوند ، بسیاری از اوقات لازم می شود تا شما اطلاعاتی را بر روی سیستم کاربر برای استفاده های بعدی ذخیره کنید ، مثلا در یک فرم برای Log in ، احتمالا چک باکس کنار بیشتر فرم های Log In را بیاد دارید ، یا برای استفاده دیگری غیر از پسورد و اطلاعات شخصی به این ذخیره سازی ممکن است احتیاج داشته باشید یک ذخیره سازی کد و امن شده ، مختص هر کاربر !
برای ذخیره اطلاعات در برنامه های AIR می توانید از Shared Objects استفاده کنید و یا حتی File API اما می دانید که هیچ کدام امنیت مورد نیاز برای ذخیره اطلاعات حساس را ندارد ، زمانی که شما از Shared Objects استفاده می کنید دیگر برنامه های توسعه یافته تحت پلتفرم AIR هم می توانند به انها دسترسی داشته باشند . اما خوشبختانه ادوبی راه حلی برای ان در نظر گرفته است .
هر برنامه AIR که بر روی سیستم کاربر اجرا می شود یک محیط کد شده بر روی سیستم کاربر برای ان در نظر گرفته می شود ، encrypted local store ، هر برنامه AIR محیط کد شده اختصاصی خود را خواهد داشت و هر کاربر در هر برنامه AIR نیز محیط اختصاصی خود را خواهد داشت . به عبارتی ساده تر یک محیط را در نظر بگیرید که بر اساس ID هربرنامه و اطلاعات شخصی هر کاربر کد شده است ، بنا براین دیگر کاربران و دیگر برنامه های AIR به ان دسترسی نخواهند داشت .
ادوبی در اکشن اسکریپت 3.0 ، البته فقط برای AIR ، یک کلاس به اسم EncryptedLocalStore دارد که زیر گروه پکیج flash.data می باشد ، با استفاده از این کلاس می توانید به این محیط امن و کد شده برای هر کاربر و هر برنامه ، دسترسی داشته باشید ، استفاده از آن بسیار راحت و دقبقا عملکرد Shared Objects را دارد ، یک String برای نام ایتم و اطلاعاتی برای ذخیره سازی ، با این تفاوت ، مقداری که داخل ایتم ذخیره می شود از نوع ByteArray است و نه String .
این API مستقیما از DPAPI در ویندوز استفاده می کند و اطلاعاتی که باید ذخیره شود با استفاده از AES-CBC 128-bit کد می شوند بنابرین دیگر برنامه های AIR و کاربران به راحتی به ان دسترسی نخواهند داشت .
فکر نمی کنم توضیح بیشتری نیاز باشد ، نگاهی به کد زیر بیاندازید :

Show Plain Text Close The Code
ActionScript:
  1. var user:String = "Amir";
  2. var userByte:ByteArray = new ByteArray();
  3. userByte.writeUTFBytes(user);
  4. EncryptedLocalStore.setItem("User", userByte);

و برای فراخوانی مجدد ان دو خط کد نیاز دارید :

Show Plain Text Close The Code
ActionScript:
  1. var userByte:ByteArray = EncryptedLocalStore.getItem("User");
  2. var user:String = userByte.readUTFBytes(userByte.length); // Amir

و برای حذف این اطلاعات از سیستم کاربر :

Show Plain Text Close The Code
ActionScript:
  1. EncryptedLocalStore.removeItem("User");

و برای حدف همه اطلاعات کد شده توسط این برنامه و برای این کاربر :

Show Plain Text Close The Code
ActionScript:
  1. EncryptedLocalStore.reset() ;

چند نکته :

  • این API سینک می باشد و برای مقدار کمی از اطلاعات طراحی شده است ، هر چند محدودیتی برای ByteArray شما نخواهد بود .
  • وقتی برنامه را Debug می کنید از یک محیط کد شده غیر از محیط اصلی که برنامه بعد از نصب استفاده خواهد کرد ، استفاده می شود .
  • زمانی که برنامه حذف شود این اطلاعات همچنان باقی خواهد ماند .
  • این API ، هم قابل استفاده در برنامه های فلشی و هم برنامه های آژاکسی پلتفرم AIR خواهد بود .
  • irdevs
    Tag کلمات کلیدی برای این نوشته :
    comment

    تاکنون نوشته یا نظری برای این مطلب ارسال نشده است !

      نام
    نام  نـام
      پست الکترونیکی
    پست الکترونیکی  پست الکترونیکی
      آدرس وب سایت
    آدرس وب سایت  آدرس وب سایت
    Height