سلام دوستان
ایا میشه بانک اطلاعاتی رو هم مثل dll کنیم؟؟؟
منظورم اینکه کسی نتونه از اون سر در بیاره و بشه اطلاعات رو به همون صورت عادی توش بنویسیم و استفاده کنیم.
سلام دوستان
ایا میشه بانک اطلاعاتی رو هم مثل dll کنیم؟؟؟
منظورم اینکه کسی نتونه از اون سر در بیاره و بشه اطلاعات رو به همون صورت عادی توش بنویسیم و استفاده کنیم.
سلام.
این سوالتون خیلی عجیب بود.
میشه یه کم بیشتر توضیح بدین. آخه فلسفه بانک و DLL متفاوته. البته گفتید مثل DLL بشه.
منظورتون اینه که داده هایی که توی بانک می نویسین رو کسی نتونه بخونه؟
سلام داداشی
دقیقا منظورم همین بود یعنی کسی به داده ها دسترسی نداشته باشه به نوعی فقط برنامه نویس بتونه بانک رو باز و استفاده کنه.
با سلام
شما می توانید 2 کار انجام دهید.
1- یا اینکه روی بانک اکسس قفل بگذارید و نام و فرمت بانک را مثلاً به Cover.dll تغییر دهید و در کانکشن استرینگ خود نام بانک را به این نام بدهید. خودش می شناسد. چون پرووایدر شما تعریف شده است که بانک اکسس است.
2- جداول خود را به اطلاعات نامفهوم دربیاورید. یعنی اینکه کد اسکی اطلاعات را بگیرید و تغییر دهید.(این روش سخت تره) (این را پیشنهاد نمی کنم)
برای تبدیل کردن به dll مراحل زیر را پیگیری کنید:
1)بر روی بانک کلیک راست می کنم.و rename را کلیک می کنم.
2)سپس نام مورد نظرم مثلا a.dll را تایپ می کنم.
نکته:ابتداد گزینه ای که در عکس گذاشتم را شما غیرفعال کنید
یه نگاه به SQLite بنداز ، شاید چیزی باشه که میخوای
من متوجه منظور شما شدم. شما می تونید نام فایل بانک اطلاعاتی تون رو به هر چیزی که می خواهید تغییر بدین جوری که کسی متوجه نشه که این فایل دیتابیسه. اما این روش خیلی به نظر من امن نیست.
شما می تونید با یک متد همونطوری که گفته شد داده هاتون رو Encrypt کنید و در بانک ذخیره کنید. توی همین سایت چندین الگوریتم Encryption و Decryption معروف هست. اما خود آدم هم میتونه برای خودش یک Encryption بنویسه ، فقط باید دقت کنه که این نگاشت یک به یک باشه تا برگشت پذیر باشه.
البته فکر میکنم خود DotNet تقریبا تمامی الگوریتمها رمزنگاری متقارن و نامتقارن رو داخل خودش داره، و احتیاجی نیست ما الگوریتم از جای دیگه واسش بیاریم، یا خودمون بنویسیم.
Imports System.Security.Cryptography
البته فکر میکنم واسه برنامه دوستمون یه Hash کردن ساده کفایت بکنه.
سلام به همه دوستان ممنون از راهنمایی هاتون
mehdi311ggg این چیزی که گفتید چی هست؟
داداش reza6384 همین کاری که گفتید رو میخوام انجام بدم اما میخوام بدونم ایا نمیشه کاری کرد که غیر قابل دسترسی هم باشه؟
mostafaaa این کد گذاری و ... باعث سنگین شدن دیتابیس نمیشه؟؟ اخه فکر کنم کاراکترهای اضافی زیادی رو به بانک اضافه میکنه.
معمولا فقط اطلاعات حیاتی از قبیل Password,UserName,AccessRole و امثالهم رو رمز نگاری میکنن نه کل دیتاهای دیتابیس رو. که اگه قرار بود این کار رو بکنیم کلی از منابع سیستم هرز میرفت.
ایا قدرتی برای تبدیل کردن بانک به یک فایل باز نشدنی وجود نداره که کاربران نتونن ازش استفاده کنن
مصطفی جان من با این نظر شما مخالفم. شما فکر کنید یک اطلاعات حیاتی رو به صورت رمز در اختیار دارید. درسته که خود Net. توابع زیادی برای Encrypt داره. اما اگر من به عنوان یک برنامه نویس نوعی بیام و کل الگوریتم های Decryption مربوط به Net. رو روی این اطلاعات حیاتی اجرا کنم و داده های اولیه رو به دست بیارم، اونوقته که کسی که اطلاعات حیاتیش رو پنهان سازی کرده به هدفش نرسیده.البته فکر میکنم خود DotNet تقریبا تمامی الگوریتمها رمزنگاری متقارن و نامتقارن رو داخل خودش داره، و احتیاجی نیست ما الگوریتم از جای دیگه واسش بیاریم، یا خودمون بنویسیم.
البته تا حدودی هم با نظر شما موافقم. چون برای هر کاری باید به اندازه مرتبه و ارزشش سرمایه گذاری کرد. در ضمن این فرمایش شما هم کاملا متینه که فقط باید اطلاعات مهم در دیتابیس Encrypt بشوند.
نه دوست من اینجوریها هم نیست.
همونطور که در پست قبلی هم گفتم اصلا منطقی نیست که تمام اطلاعات DB رو بصورت رمز در بیاریم . و برای اون اطلاعات حیاتی هم که گفتم، از الگوریتمهای نا متقارن استفاده میکنن که غیر قابل بازگشته. و اگه از الگوریتم های متقارن استفاده بشه معمولا یه کلید تصادفی رو باهاش ترکیب میکنن تا کسی بدون داشتن اون کلید با داشتن الگوریتم هم نتونه رمز رو باز گشایی کنه.