PDA

View Full Version : رمزگذاری فایل APP.config



hassan181
سه شنبه 08 اردیبهشت 1394, 20:16 عصر
سلام و خسته نباشید خدمت اساتید گرامی
می خواستم بدونم چه جوری می تونم قسمت usersetting در فایل app.config را رمزگذاری و در زمان دلخواه محتوای رمزگذاری شده را برگردونم.(encrypting and decrypting)
ممنون میشم راهنمایی کنید.

mohammadhafez
چهارشنبه 09 اردیبهشت 1394, 00:12 صبح
http://www.codeproject.com/Tips/598863/EncryptionplusDecryptionplusConnectionplusStringpl

Amir4317
چهارشنبه 09 اردیبهشت 1394, 00:14 صبح
سلام
پیشنهاد میکنم از این روش استفاده کنید:
تنظیم رشته اتصالی Entity Framework به بانک اطلاعاتی به وسیله کد (http://www.dotnettips.info/post/1789/%d8%aa%d9%86%d8%b8%db%8c%d9%85-%d8%b1%d8%b4%d8%aa%d9%87-%d8%a7%d8%aa%d8%b5%d8%a7%d9%84%db%8c-entity-framework-%d8%a8%d9%87-%d8%a8%d8%a7%d9%86%da%a9-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa%db%8c-%d8%a8%d9%87-%d9%88%d8%b3%db%8c%d9%84%d9%87-%da%a9%d8%af)

hassan181
پنج شنبه 10 اردیبهشت 1394, 11:24 صبح
http://www.codeproject.com/Tips/598863/EncryptionplusDecryptionplusConnectionplusStringpl
ممنونم اما امتحان کردم یه قسمت دیگه را رمز گذاری میکنه
در صورتی که می خوام قسمت usersetting رو رمزگذاری کنم
کد app.config من :

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5619jh34e089" >
<section name="topsis3.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5619jh34e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<topsis.Properties.Settings>
<setting name="on_serials" serializeAs="String">
<value>True</value>
</setting>
<setting name="tb1" serializeAs="String">
<value />
</setting>
<setting name="trial_int" serializeAs="String">
<value>0</value>
</setting>
<setting name="tb2" serializeAs="String">
<value />
</setting>
<setting name="t_int_save" serializeAs="String">
<value>0</value>
</setting>
<setting name="Password" serializeAs="String">
<value>test</value>
</setting>
</topsis3.Properties.Settings>
</userSettings>
</configuration>

hassan181
پنج شنبه 10 اردیبهشت 1394, 11:33 صبح
سلام
پیشنهاد میکنم از این روش استفاده کنید:
تنظیم رشته اتصالی Entity Framework به بانک اطلاعاتی به وسیله کد (http://www.dotnettips.info/post/1789/%d8%aa%d9%86%d8%b8%db%8c%d9%85-%d8%b1%d8%b4%d8%aa%d9%87-%d8%a7%d8%aa%d8%b5%d8%a7%d9%84%db%8c-entity-framework-%d8%a8%d9%87-%d8%a8%d8%a7%d9%86%da%a9-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa%db%8c-%d8%a8%d9%87-%d9%88%d8%b3%db%8c%d9%84%d9%87-%da%a9%d8%af)


دوست عزیز ممنونم ازت
اما اصلا نفهمیدم...!!!!

Amir4317
چهارشنبه 16 اردیبهشت 1394, 13:16 عصر
هوووم؟

ببخشید، حالا که ویرایش کردید فهمیدم. مثل اینکه بد متوجه شده بودم!


در قسمت Properties پروژه درزبانه Settings متغیرهای خودتون رو با حالت User ایجاد کنید.
حالا متغیرهاتون رو توسط یک کلاس دیگه مثلاً Encrypt به رمز تبدیل کنید سپس اون رو درون فایل Setting ذخیره کنید.


var securedPassword = Encrypt(myCustomPassword);
Properties.Settings.Default.Password = securedPassword;
Properties.Settings.Default.Save();



هربار که برنامه اجرا بشه این متغیرها رو بازخوانی کنید و از حالت رمز درشون بیارید.:چشمک:

uniqueboy_ara
چهارشنبه 16 اردیبهشت 1394, 15:09 عصر
private static bool EncryptAppConfig(string path) {
var config = ConfigurationManager.OpenExeConfiguration(path);


var section = config.GetSection("userSettings");
if (section == null || section.SectionInformation.IsProtected) return true;
section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
section.SectionInformation.ForceSave = true;
try
{
config.Save(ConfigurationSaveMode.Modified);
return true;
}
catch
{
return false;
}
}