PDA

View Full Version : دیتابیس در اندروید



beh3000
دوشنبه 28 اردیبهشت 1394, 11:28 صبح
سلام من تازه کار هستم برام مهمه که کاربر نتونه داده های دیتابیس من رو برا خودش بگیره ... به نظرتون چی کار کنم ... اول بهم بگید در حالت عادی کاربر میتونه این کارو بکنه ... مثلا دیتا بیسم توی assets باشه یعنی دیتابیس آماده داشته باشم ؟؟؟ و یا اینکه اولین بار که برنامه اجرا شد دیتابیس ساخته بشه و داده های اون از اینترنت لود بشه که در این حالت در sdcard ساخته میشه ....اگه لازمه که داده هامو کد کنم به چه روشی انجام بدم ... ممنون

mnakhaeipoor
دوشنبه 28 اردیبهشت 1394, 11:43 صبح
آره مامان بزرگ منم میتونه به دیتابیست دسترسی داشته باشه چه توی assets باشه چه توی data/databases
راه که تا دلت بخواد هست اما یکی از راه های معمول هش کردن اطلاعات مهم دیتابیست هست (هش هم معمولا با یکی از این دو تا انجام میشه : MD5/SHA)

beh3000
دوشنبه 28 اردیبهشت 1394, 12:29 عصر
با توابع هش ؟؟؟ این توابع که قابل برگشت نیستند !!! هنگام نمایش داده ها به چه شکلی باید عمل بشه ؟؟؟؟

میشه چندتا راه دیگه هم بگید ...

mnakhaeipoor
دوشنبه 28 اردیبهشت 1394, 13:28 عصر
با توابع هش ؟؟؟ این توابع که قابل برگشت نیستند !!! هنگام نمایش داده ها به چه شکلی باید عمل بشه ؟؟؟؟

میشه چندتا راه دیگه هم بگید ...
شما مثلا تو دیتابیس کلمه سلام رو هش شده ذخیره میکنید
بعد که میخواید نمایشش بدید (مثلا) میگید :

if( ( md5("سلام") ) == "MD5 Hash Code سلام stored in database"){
//show سلام
}

راه دیگه هم گفتم زیاده باید سرچ کنید مثلا SQLchiper (https://guardianproject.info/code/sqlcipher/) یک ابزار خوب برای انکریپت کردن دیتابیستون هست

djtrex
دوشنبه 28 اردیبهشت 1394, 13:46 عصر
آره مامان بزرگ منم میتونه به دیتابیست دسترسی داشته باشه چه توی assets باشه چه توی data/databases
راه که تا دلت بخواد هست اما یکی از راه های معمول هش کردن اطلاعات مهم دیتابیست هست (هش هم معمولا با یکی از این دو تا انجام میشه : MD5/SHA)


شما مثلا تو دیتابیس کلمه سلام رو هش شده ذخیره میکنید
بعد که میخواید نمایشش بدید (مثلا) میگید :

if( ( md5("سلام") ) == "MD5 Hash Code سلام stored in database"){
//show سلام
}

راه دیگه هم گفتم زیاده باید سرچ کنید مثلا SQLchiper (https://guardianproject.info/code/sqlcipher/) یک ابزار خوب برای انکریپت کردن دیتابیستون هست

دوست عزیز اینا شوخی بود دیگه؟! جدی که نبود؟

beh3000
دوشنبه 28 اردیبهشت 1394, 13:56 عصر
سلام مجدد

نحوه هش کردن و ذخیره کردنشو کاری ندارم مشکلم اینه که وقتی بخوام کلمه سلام رو نشون بدم به کاربری که داره با نرم افزار کار میکنه چجوری میشه ؟

مثلا کلمه سلام وقتی هش بشه مثلا میشه این as152ddfds654sfd64dfg8f98yj7g9hjg8hj ... حالا ایم متن رو چجوری بفهمم که کلمه سلامه ؟؟؟؟؟

توابع هش قابل دیکد کردن نیستند

mnakhaeipoor
دوشنبه 28 اردیبهشت 1394, 14:58 عصر
دوست عزیز اینا شوخی بود دیگه؟! جدی که نبود؟
مگه من با کسی شوخی دارم؟!

slr560
دوشنبه 28 اردیبهشت 1394, 15:35 عصر
سلام من تازه کار هستم برام مهمه که کاربر نتونه داده های دیتابیس من رو برا خودش بگیره ... به نظرتون چی کار کنم ... اول بهم بگید در حالت عادی کاربر میتونه این کارو بکنه ... مثلا دیتا بیسم توی assets باشه یعنی دیتابیس آماده داشته باشم ؟؟؟ و یا اینکه اولین بار که برنامه اجرا شد دیتابیس ساخته بشه و داده های اون از اینترنت لود بشه که در این حالت در sdcard ساخته میشه ....اگه لازمه که داده هامو کد کنم به چه روشی انجام بدم ... ممنون

اگه دیتابیست خیلی مهم هس راه عاقلانش اینه که روی سرور باشه و شما از طریق وبسرویس بهش دسترسی داشته باشید
در هر صورت اگه خواستی توی اندروید ذخیره کنی با الگوریتم AES کد کن و داخل دیتا بیس دخیره کن

کلید هم یه رشته ۱۵ کاراکتری یا بیشتر بزار و به ۱۰ یا ۱۵ قسمت بشکونش و هر کدومشو بزار توی یه جای برنامه .(توی ریسورس ها بزار) واسه استفاده از کلید هم بیا اینارو بچسبونشون به هم
موقعی که progurd بشه کسی کلید رو نمیتونه اینجوری تشخیص بده . مطمئن باش

beh3000
دوشنبه 28 اردیبهشت 1394, 17:02 عصر
ممنون از راهنمائی خوبت دوست من slr560

skkhossein
دوشنبه 28 اردیبهشت 1394, 22:44 عصر
(توی ریسورس ها بزار)
میشه اینو واضح تر بگید یعنی چی؟

slr560
سه شنبه 29 اردیبهشت 1394, 14:26 عصر
میشه اینو واضح تر بگید یعنی چی؟
یعنی مثلا کلیدت اینه:
huigiurf589469530ug95

بعد میای اینو بچند قسمت میشکونیش و مثلا توی قسمت های مختلف values قرار میدی
مثلا huig رو توی Strings.xml بزار و یه آیدی الکی مثل huou9990 بهش بده . یا به تیکه های کوچیکتر تقسیمش کن
یا تیکه های دیگه رو توی dimen.xml بزار یا anim یا ....
توی فایل جاوا هم میشه . خلاصه تا میتونی باید بپیچونی

آخر بیا اینارو یه جا بهم بچسبون و استفاده کن :چشمک:
وقتی پروگارد بشه امکان فهمیدنش غیر ممکن میشه . بازم تکرار میکنم غیر ممکن:چشمک:

skkhossein
سه شنبه 29 اردیبهشت 1394, 16:00 عصر
مفید بود تشکر