PDA

View Full Version : سوال: تبدیل بانک اطلاعاتی به dll



baran_mehr
یک شنبه 28 مهر 1387, 23:41 عصر
سلام دوستان:بوس:
ایا میشه بانک اطلاعاتی رو هم مثل dll کنیم؟؟؟
منظورم اینکه کسی نتونه از اون سر در بیاره و بشه اطلاعات رو به همون صورت عادی توش بنویسیم و استفاده کنیم.

reza6384
دوشنبه 29 مهر 1387, 00:39 صبح
سلام.
این سوالتون خیلی عجیب بود.
میشه یه کم بیشتر توضیح بدین. آخه فلسفه بانک و DLL متفاوته. البته گفتید مثل DLL بشه.

منظورتون اینه که داده هایی که توی بانک می نویسین رو کسی نتونه بخونه؟

baran_mehr
دوشنبه 29 مهر 1387, 08:22 صبح
سلام داداشی
دقیقا منظورم همین بود یعنی کسی به داده ها دسترسی نداشته باشه به نوعی فقط برنامه نویس بتونه بانک رو باز و استفاده کنه.

arsalansalar
دوشنبه 29 مهر 1387, 08:44 صبح
با سلام

شما می توانید 2 کار انجام دهید.
1- یا اینکه روی بانک اکسس قفل بگذارید و نام و فرمت بانک را مثلاً به Cover.dll تغییر دهید و در کانکشن استرینگ خود نام بانک را به این نام بدهید. خودش می شناسد. چون پرووایدر شما تعریف شده است که بانک اکسس است.
2- جداول خود را به اطلاعات نامفهوم دربیاورید. یعنی اینکه کد اسکی اطلاعات را بگیرید و تغییر دهید.(این روش سخت تره) (این را پیشنهاد نمی کنم)

arsalansalar
دوشنبه 29 مهر 1387, 09:09 صبح
برای تبدیل کردن به dll مراحل زیر را پیگیری کنید:
1)بر روی بانک کلیک راست می کنم.و rename را کلیک می کنم.

2)سپس نام مورد نظرم مثلا a.dll را تایپ می کنم.

نکته:ابتداد گزینه ای که در عکس گذاشتم را شما غیرفعال کنید

Mehdi Asgari
دوشنبه 29 مهر 1387, 09:36 صبح
یه نگاه به SQLite بنداز ، شاید چیزی باشه که میخوای

reza6384
دوشنبه 29 مهر 1387, 12:17 عصر
من متوجه منظور شما شدم. شما می تونید نام فایل بانک اطلاعاتی تون رو به هر چیزی که می خواهید تغییر بدین جوری که کسی متوجه نشه که این فایل دیتابیسه. اما این روش خیلی به نظر من امن نیست.
شما می تونید با یک متد همونطوری که گفته شد داده هاتون رو Encrypt کنید و در بانک ذخیره کنید. توی همین سایت چندین الگوریتم Encryption و Decryption معروف هست. اما خود آدم هم میتونه برای خودش یک Encryption بنویسه ، فقط باید دقت کنه که این نگاشت یک به یک باشه تا برگشت پذیر باشه.

mostafaaa
دوشنبه 29 مهر 1387, 12:30 عصر
البته فکر میکنم خود DotNet تقریبا تمامی الگوریتمها رمزنگاری متقارن و نامتقارن رو داخل خودش داره، و احتیاجی نیست ما الگوریتم از جای دیگه واسش بیاریم، یا خودمون بنویسیم.

Imports System.Security.Cryptography
البته فکر میکنم واسه برنامه دوستمون یه Hash کردن ساده کفایت بکنه.

baran_mehr
دوشنبه 29 مهر 1387, 18:08 عصر
سلام به همه دوستان ممنون از راهنمایی هاتون
mehdi311ggg این چیزی که گفتید چی هست؟
داداش reza6384 همین کاری که گفتید رو میخوام انجام بدم اما میخوام بدونم ایا نمیشه کاری کرد که غیر قابل دسترسی هم باشه؟
mostafaaa این کد گذاری و ... باعث سنگین شدن دیتابیس نمیشه؟؟ اخه فکر کنم کاراکترهای اضافی زیادی رو به بانک اضافه میکنه.

mostafaaa
دوشنبه 29 مهر 1387, 19:52 عصر
معمولا فقط اطلاعات حیاتی از قبیل Password,UserName,AccessRole و امثالهم رو رمز نگاری میکنن نه کل دیتاهای دیتابیس رو. که اگه قرار بود این کار رو بکنیم کلی از منابع سیستم هرز میرفت.

baran_mehr
دوشنبه 29 مهر 1387, 20:51 عصر
ایا قدرتی برای تبدیل کردن بانک به یک فایل باز نشدنی وجود نداره که کاربران نتونن ازش استفاده کنن

reza6384
سه شنبه 30 مهر 1387, 01:00 صبح
البته فکر میکنم خود DotNet تقریبا تمامی الگوریتمها رمزنگاری متقارن و نامتقارن رو داخل خودش داره، و احتیاجی نیست ما الگوریتم از جای دیگه واسش بیاریم، یا خودمون بنویسیم.


مصطفی جان من با این نظر شما مخالفم. شما فکر کنید یک اطلاعات حیاتی رو به صورت رمز در اختیار دارید. درسته که خود Net. توابع زیادی برای Encrypt داره. اما اگر من به عنوان یک برنامه نویس نوعی بیام و کل الگوریتم های Decryption مربوط به Net. رو روی این اطلاعات حیاتی اجرا کنم و داده های اولیه رو به دست بیارم، اونوقته که کسی که اطلاعات حیاتیش رو پنهان سازی کرده به هدفش نرسیده.
البته تا حدودی هم با نظر شما موافقم. چون برای هر کاری باید به اندازه مرتبه و ارزشش سرمایه گذاری کرد. در ضمن این فرمایش شما هم کاملا متینه که فقط باید اطلاعات مهم در دیتابیس Encrypt بشوند.

mostafaaa
سه شنبه 30 مهر 1387, 09:42 صبح
نه دوست من اینجوریها هم نیست.
همونطور که در پست قبلی هم گفتم اصلا منطقی نیست که تمام اطلاعات DB رو بصورت رمز در بیاریم . و برای اون اطلاعات حیاتی هم که گفتم، از الگوریتمهای نا متقارن استفاده میکنن که غیر قابل بازگشته. و اگه از الگوریتم های متقارن استفاده بشه معمولا یه کلید تصادفی رو باهاش ترکیب میکنن تا کسی بدون داشتن اون کلید با داشتن الگوریتم هم نتونه رمز رو باز گشایی کنه.