بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

محافظت از دیتابیس در برنامه ها (SQlite)

مدیریت گفتگو
Spirit 12 سال پیش
آخرین تغییر: 11 سال پیش

سلام

راهی که من بلدم اینه که بیام  فیلدهای دیتابیس رو encrypt کنم با یه کلید و داخل برنامه اونو موقع دریافت با کلید باز کنم ، حالا علاوه بر افزایش حجم دیتابیس ، همچنین امکان جستجو هم فراهم نمیشه.

پیشنهاد یا روش دیگری برای این کار دارید؟

نظرات

ahmad_r 12 سال پیش
به شدت منتظریم استاد...
CreativeBoy 12 سال پیش
من هم خیلی دوست دارم راهشو بدونم :)
Vahid 12 سال پیش
دقیقا ...
sadeghbarout 12 سال پیش
چرا امکان جستجو فراهم نمیشه؟ من خودم تو برنامم اطلاعات رو با یه روش شخصی کد کردم و موقع جستجو، یه عبارت خاص، اون عبارت رو کد میکردم و بعد عبارت کد شده رو تو دیتابیس میگشتم
uncocoder 12 سال پیش
جستجوی LIKE نمیشه اما = میشه. ولی معمولاً مساوی بدرد نمی خوره و LIKE کار راه انداز هست.
sadeghbarout 12 سال پیش
من Like هم استفاده کردم. البته نمیدونم شما چطور encrypt میکنید ولی با اون نوعی که من انجام دادم مشکلی پیش نیومد

پاسخ‌ها 4

underomeda 12 سال پیش

 سلام

راه حل اینکه از این نسخه sql  به نام sqlcipher استفاده کنید من خودمم از این استفاده میکنم .

اینم سایتش نسخه اندروید رو هم داره

نظرات

Spirit 12 سال پیش
این که پولیه؟ شما خریدی؟
Spirit 12 سال پیش
ممنون ، ولی این فکر کنم برا دیتابیسی هست که برنامه میسازه ، دیتابیس ما پیش ساختس ، یا راه داره؟
uncocoder 12 سال پیش

نه دوستان راه خاصی نداره. هر راهی نیاز به Decode کردن فیلد و جستجو در اون داره که باعث کاهش سرعت میشه. اما چه لزومی هست که فیلدهای قابل جستجو Encode بشن. معمولاً در هر بانک اطلاعاتی تنها یکی دو فیلد مهم وجود داره. بطور مثال در بانک اطلاعات املاک، ته آدرس و شماره تلفن مهم هست. پس می تونید پلاک و شماره تلفن رو در دو فیلد جدا Encode کنید و بقیه اطلاعات قابل جستجو و Encode نشده هستند.

نظرات

m_mramezani 11 سال پیش
استاد امکان گذاشتن رمز واسه دیتا بیس وجود نداره یعنی ؟ مثل اسکیو ال سرور که برای اتصال حتما به پسورد نیاز داره اینم نمیشه کاری کرد که برای باز شدن حتما پسورد نیاز داشته باشه ؟
armin94 11 سال پیش
سلام استاد چطور میشه فیلد های دیتابیس آماده رو Encode کرد؟ ( از چه روشی)
Mohammad Vp 11 سال پیش

واقعا یعنی کل دوستان برنامشونو با دیتابیس باز میزارن تو بازار؟O_o

من دیتابیسم 1000تا رکورد داره همشم توضیحاته! چه کارکنم؟

اگه بزارم بازار یکی برمیداره میره ادامه دیتابیس رو ادد میکنه میزاره واسه فروش؟

هیچ چاره ایی نیس؟

نظرات

Criss 11 سال پیش
شما میتونید اطلاعاتتون رو MD5 ذخیره کنید در دیتابیس < و در برنامه این کدهای MD5 شده رو برگردونید < لینک
Spirit 11 سال پیش
MD5 که قابل بازگشت نیست! اینم که لینک دادی از تو دیتابیسش پیدا میکنه.
Criss 11 سال پیش
سرچ کردم < به همین نتیجه رسیدم < پس کاربرد MD5 و SHA1 چی هست ؟
Hajhosseini 11 سال پیش
دوست عزیز شما باید با یک KeyGenerator یک کلید بسازی(یک کلی منظور public key و private key هست)، وقتی اطلاعات رو ذخیره میکنی باید با public key کد کنی، زمانی که میخوای اطلاعات رو باز کنی باید با private key اونا رو به حالت اول برگردونی.(این روش در انتقال اطلاعات در بانک ها استفاده میشه.)،،، بهتره دیتا رو اول به base64 تبدیل کنی بعد رمز گذاری کنی. اون SHA1 و MD5 روش هایی هستن که میشه باهاش رمز گذاری رو انجام داد.
javac 11 سال پیش
Sha1 , md5 الگوريتم هاي هش هستن ، و همونطور كه سپريت گفت غيرقابل بازگشت هست ، فرض كنيد شما يك عدد موز رو با شير بريزي تو مخلوط كن و هم بزني عملا ديگه نميشه شير و موز رو به حالت اولش برگردوند ، ابزارها و سايتهايي هم كه ميتونن مقدار هش شده رو برگردونن در واقع ، برنميگردونن!! ، فقط رشته هاي هش شده رو مطابقت ميدن مثل همون چك كردن رمز عبور .
Hajhosseini 11 سال پیش
این الگوریتم ها میتونه در یک RSA یا AES استفاده بشه، که در اون صورت قابل Decrypt هستن.کلید واژه هایی که باید سرچ کنید: RSA PUBLIC KEY، Encrypt RSA with SHA Algorithm... رمز گذاری در public key به 2 صورت هست، اولی روش PEM(که در اندروید استادیو توی توضیحات DER بهش میگن)، یکی روش 2 گانه که از 2 عدد اول بزرگ به نام های modulos و exponent، هست. که این اعداد Public Key رو میسازن. با استفاده از اینا رمز گذاری انجام میشه، بعد وقتی دیتا ارسال شد، سمت سرور توسط Private Key عملیاد Decryption انجام میشه.
nmotaghed 11 سال پیش

میشه بیشتر راجع به این کد هش توضیح بدین؟ خوب وقتی به رمز ردر آوردیم چه جوری برش گردونیم؟

نظرات

nmotaghed 11 سال پیش
ممنونم دوست عزیز

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .