کد کردن اطلاعات SQLite

1230456

Member
سلام دوستان

من تو چند مطلب مرتبط با sqlite دیدم که نوشتید میشه اطلاعات توی db رو که با پلاگین sqlite استفاده میشه رو کد کرد، اما توضیح ندادید که چطوری می شه این کار رو انجام داد!


لطفا کسانی که آشنایی دارن اینجا بگن! مرسی :)
 

1230456

Member
(این مطلب رو قبلا دیده بودم !)


این تاپیک ای که معرفی کردین خبری از آموزش نیست و فقط اسم دو تا پلاگین رو آوردید، من کد کردن با خود پلاگین sqlite رو می خوام !

شما نوشتید که کدگزاری به روش MD5 رو داره! اما نگفتید چطور !
 
آخرین ویرایش:

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
با اون پلاگین ها هم امکانش هست خوب برید پلاگین ها رو دانلود کنید و نمونش رو ببینید

در مورد پلاگین SQLite هم همینکار رو انجام بدید.
 

Saman

مدیر انجمن مولتی مدیا بیلدر
ببینید. روش md5 از روش های کد گذاری غیر قابل بازگشت و یکطرفه هستش. هرچیزی رو که شما با اون کد کنید دیگه تقریبا هیچ وقت یا خیلی مدت زمان طولانی میشه بهش رسید.
حالا این به چه دردی میخوره. مثلا برای ذخیره کردن پسورد ها که بعدا با فراخوانی اونها از میشه مقایسه انجام داد. در حالت نرمال این روش استفاده ای نداره.

شما این رو ببینید :
 

hamedroy

Member
سلام شاید جا نداشته باشه که در مورد پی اچ پی اینجا حرف زده بشه . قبلا من نرم افزاری رو دیده بودم که متون کد شده با md5 رو دریافت میکرد و کد بازگشتی تولید میکرد. جالب اینجاست که توی اینترنت هم فیلمش قرار داده شده بود و بنده شخصا مشاهده کرده بودم. اینکه استاد سامان فرمودن در عین درست بودن نیاز به تحقیق بیشتری هم خواهد داشت. حالا خواهش من از عزیزان تالار اینه که اگه کسی درمورد این موضوع مستندات بیشتری داره در اختیار بقیه قرار بده.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
سلام شاید جا نداشته باشه که در مورد پی اچ پی اینجا حرف زده بشه . قبلا من نرم افزاری رو دیده بودم که متون کد شده با md5 رو دریافت میکرد و کد بازگشتی تولید میکرد. جالب اینجاست که توی اینترنت هم فیلمش قرار داده شده بود و بنده شخصا مشاهده کرده بودم. اینکه استاد سامان فرمودن در عین درست بودن نیاز به تحقیق بیشتری هم خواهد داشت. حالا خواهش من از عزیزان تالار اینه که اگه کسی درمورد این موضوع مستندات بیشتری داره در اختیار بقیه قرار بده.

MD5 و حتی SHA1 امنیتشون تضمین شده نیست و توصیه میشه که مثلاً برای Certificate ها و امضاهای دیجیتال از این الگوریتم ها استفاده نشه و الگوریتم های بهینه تری مثل SHA2 معرفی شدن.
اما شکستن MD5 هم به این سادگی ها نیست و قدرت پردازشی زیادی نیاز داره، نیازمند تخصص و دانش خاص خودش هست.
چیزی که در اینترنت دیدید ناشی از خیلی چیزها میتونه باشه، مثلاً اگه متن شما یه عدد 12 رقمی هم باشه میشه خیلی ساده MD5ش رو شکست، روشش هم مقایسه ی اعداد از 0 تا مثلاً 999999999999 هست.
خیلی از سایتهایی که همچین خدماتی میدن از چیزی بنام Hash Table استفاده میکنن، Hash Table یک بانک اطلاعاتی حاوی کلمات معروف، پرکاربرد و ترکیبی از حروف و MD5 Hash هرکدوم از اونها هست که احتمال استفاده از اونها بعنوان پسورد بیشتر هست.
روشش هم این هست که با روش مقایسه، تک تک MD5 Hash های موجود در دیتابیس رو با MD5 Hashی که شما ارائه کردید مقایسه میکنن و اگر هم خوانی ایجاد شد متن اصلی پیدا شده، مثلاً کلمه ی apple رو اگر MD5 Hashش رو به این سایتها بدید خیلی زود کلمه ی اصلی رو بر میگردونه

هرچه دیتابیس غنی تر باشه خب احتمال شکستن هش های بیشتری رو داره
اما تقریباً هیچکدوم از این سایت ها نمیتونن هش مربوط به متن "a1d@;>?4g5^jjn*&^g58%$3" رو بشکنن !!!

هیچ چیزی امنیت مطلق نداره، وزارت دفاع آمریکا برای تامین امنیت اطلاعاتش از MD5 استفاده نمیکنه و الگوریتم های ایمن تری داره، اما برای هش کردن پسورد ها در دیتابیس (که اهمیت تجهیزات دفاعی یک کشور رو ندارن) گزینه ی مناسبی هست.
 

hamedroy

Member
اینقدر قشنگ و کامل جواب میدید که آدم ذوق میکنه . :) آیا سرعت اتصال و واکشی داده ها در وضعیت کد کردن محسوسه؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
MD5 همونطور که سامان گفت برای هش کردن پسوردها کاربرد داره، برای داده های دیگه باید از الگوریتمی برگشت پذیر برای کد کردن استفاده بشه.

پلاگین Crypto قابلیت Encode/Decode رشته ها رو درکنار فایل داره و از الگوریتم های مختلف پشتیبانی می کنه.
گمان نمیکنم تاثیر خیلی زیادی روی سرعت داشته باشه اما باید خودتون امتحان کنید (و نتیجه رو هم اینجا اعلام کنید)
 

پیوست ها

  • Decrypt-Encrypt.zip
    184 کیلوبایت · بازدیدها: 11

hamedroy

Member
محمد عزیز
میدونم آنتی ویروسها رو دوست نداری ولی متاسفانه نود با تشخیص ویروسی بودن فایل پلاگین باعث میشه ازش استفاده نکنیم. دیده بودم قبلا ها که آقای محمود راجع به بودن توابعی برای کدگذاری و دیکد کردن در بسته sqlite اشاره داشتن اما توضیحاتی ارائه نشده بود. من بسته رو دارم ولی از اونجا که در چند جای انجمن این بسته وجود داره نمیدونم منظورتون از فایل راهنما یا نمونه مثالهای این کار چیه . شاید اگه لینکشو برام بذارید مفید باشه. ضمنا حالا که حضور دارین بهتره به پست زیر هم پاسخ بدین چون مربوط به خودتون هست. تشکر
http://forum.majidonline.com/threads/181849-کد-کردن-متن-پروژه/page2
 
آخرین ویرایش:

hamedroy

Member
تشکر. با توجه به برنگشت ناپذیر بودن MD5 در شرایطی که بخواهیم داده دیکد شده نمایش داده بشه آیا استفاده از پارامتر Decode64Data منطقی به نظر میرسه؟
چون ظاهرا محدودیت 127 کاراکتری داره . آیا روش بهتری میشناسید. متاسفانه الگوریتم SH1 هم مشابه MD5 محدودیت بازگشتی داره و برای مواردی مثل پسوردها موثر هست.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
تشکر. با توجه به برنگشت ناپذیر بودن MD5 در شرایطی که بخواهیم داده دیکد شده نمایش داده بشه آیا استفاده از پارامتر Decode64Data منطقی به نظر میرسه؟
چون ظاهرا محدودیت 127 کاراکتری داره . آیا روش بهتری میشناسید. متاسفانه الگوریتم SH1 هم مشابه MD5 محدودیت بازگشتی داره و برای مواردی مثل پسوردها موثر هست.

Base64 هیچ امنیتی رو براتون فراهم نمیکنه، اصلاً هدف Base64 تامین امنیت نیست و تا جایی که من اطلاع دارم محدودیتی برای داده ی ورودی نداره.
به هرحال یک متد Encrypt/Decrypt رو باید پیاده سازی کنید که امنیت مناسبی داشته باشه. حالا اگر پلاگینی که معرفی کردم مشکل داره، از یه پلاگین دیگه استفاده کنید و یا یه الگوریتمی رو خودتون پیاده سازی کنید.
 

hamedroy

Member
در این زمینه جز fyeo که دموی خوبتون رو توش دیدم قبلا چیز دیگری وجود داره؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
fyeo توابعی برای انکریپت کردن فایل داره و نه رشته ها.
 

hamedroy

Member
درسته اما چون هدف من حفاظت داده ها هست و این پلاگین قدرت Decrypt هم داره ما فایلی رو که محافظت می کنیم در مواقع لازم باز می کنیم و خط مورد نظر را پس از خوانده شدن مورد استفاده قرار می دیم و این همون چیزی هست که لازم داریم. اما و اما اینکه وقتی داده ای از دیتا بیس جستجو میشه نیاز به الگوریتمی داریم که پس از دریافت مقدار جستجو از الگوریتم استفاده کنه و درون دیتا بیس مقدار معادل خودش رو پیدا کنه و پس از یافتن مقدار مورد نظر با استفاده از الگوریتم متضاد خودش اونو نمایش بده. تا اینجا به این رسیدیم که MD5 و SH ها این قابلیت رو ندارند چون بازگشت ناپذیر هستند. وقتی به سراغ Base64 رفتیم بازهم به این رسیدیم که هدف این الگوریتم امنیت نیست . وقتی سراغ مثال شما رفتیم هم متاسفانه به دلیل ویروسی بودن پلاگین قابل استفاده نبود. حالا اگر روش دیگری به فکر شما یا سایر دوستان میرسه لطفا ارائه فرمایید . چون به نظر میاد این موضوع برای بیشتر دوستان مهم باشه.
 

جدیدترین ارسال ها

بالا