PDA

View Full Version : سوال: رمزگردانی فایل پیکر بندی برنامه



moferferi
دوشنبه 05 مرداد 1388, 21:39 عصر
سلام
من کانکشن استرینگ برنامه ام را داخل یک فایل app.config قرار دادم
ولی یه مشکلی که دارم اینه که همه چیز واضح نشون داده میشه و هر کسی که این فایل را باز کنه میتونه کلمه عبور دیتابیس را بفهمه.
میشه کاری کرد که این فایل یا اصلا باز نشه و یا اطلاعات درونش به صورت رمز دربیاد .
البته تو قسمت 1001 نکته یه مثالی دیدم ولی نمیدونم چه شکلی باهاش کار کنم .اجراش کردم اتفاقی نه افتاد.

onfiguration config = ConfigurationManager.OpenExeConfiguration(Configur ationUserLevel.None);
config.ConnectionStrings.SectionInformation.ForceS ave = true;
config.ConnectionStrings.SectionInformation.Protec tSection("RsaProtectedConfigurationProvider");
config.Save();
و یه سوال دیگه:بهترین روش برای ذخیره رشته اتصال در برنامه ای که ممکنه مقادیر رشته اتصال تغییر کنه چیه؟

mehdi.mousavi
دوشنبه 05 مرداد 1388, 22:05 عصر
سلام من کانکشن استرینگ برنامه ام را داخل یک فایل app.config قرار دادم
ولی یه مشکلی که دارم اینه که همه چیز واضح نشون داده میشه و هر کسی که این فایل را باز کنه میتونه کلمه عبور دیتابیس را بفهمه. میشه کاری کرد که این فایل یا اصلا باز نشه و یا اطلاعات درونش به صورت رمز دربیاد .

سلام.
برای این منظور، 2 روش پیش رو دارید.


با استفاده از کدی که می نویسید می تونید بخش مورد نظرتون در فایل app.config رو رمزگذاری کنید و فایل app.config جدید رو ایجاد کنید. برای آشنایی با این روش، به MSDN رجوع کنید.
با استفاده از aspnet_regiis که یک Utility همراه .NET Framework هستش، بخش مورد نظر در .config رو رمزگذاری کنید. به این منظور حداقل باید سه پارامتر pe، app و prov رو به این Utility بدید و بقیه کار توسط این برنامه انجام میشه. برای توضیحات بیشتر در این زمنیه به این سایت رجوع کنید.
(http://msdn.microsoft.com/en-us/library/zhhddkxy.aspx)

جدا از اینکه کدوم دو روش رو انتخاب کنید، وقتی .NET با چنین فایل رمزگذاری شده مواجه بشه، خودش بطور خودکار اونو از رمز در میاره و در اختیار شما (برنامه) قرار میده.