ذخیره اطلاعات مهم به صورت کد شده در ادوبی 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 و کاربران به راحتی به ان دسترسی نخواهند داشت .
فکر نمی کنم توضیح بیشتری نیاز باشد ، نگاهی به کد زیر بیاندازید :
-
var user:String = "Amir";
-
var userByte:ByteArray = new ByteArray();
-
userByte.writeUTFBytes(user);
-
EncryptedLocalStore.setItem("User", userByte);
و برای فراخوانی مجدد ان دو خط کد نیاز دارید :
-
var userByte:ByteArray = EncryptedLocalStore.getItem("User");
-
var user:String = userByte.readUTFBytes(userByte.length); // Amir
و برای حذف این اطلاعات از سیستم کاربر :
-
EncryptedLocalStore.removeItem("User");
و برای حدف همه اطلاعات کد شده توسط این برنامه و برای این کاربر :
-
EncryptedLocalStore.reset() ;
چند نکته :
کلمات کلیدی برای این نوشته :
تاکنون نوشته یا نظری برای این مطلب ارسال نشده است !

اطلاعات این نوشته



