السلام عليكم
لتشفير نص الاتصال بقواعد البيانات و/او اى Section بداخل AppConfig.Exe.Config الذى نستخدمه ويرفق بالمشروع ويتم ارفاق نص الاتصال به لتعديله حسب بيانات العميل وحيث انه قد يحوى كلمة سر وبيانات لا نريدها ظاهرة للعيان
قد تحتاج لاضافة مرجع لــSystem.Configuration
ومن ثم عمل Imports System.Configuration
الكلاسConfiguration نجد به الميثود ProtectSection والذى يقوم بتشفير Section المراد بواسطة خوارزمين هما
- DPAPIProtectedConfigurationProvider
- RSAProtectedConfigurationProvider
الاخير هو المزود الافتراضى بتمرير Nothing للميثود السابق ذكره
لنفرض ان لدينا نص الاتصال هكذا بملف AppConfig.Exe.Config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="ChangeAndEncryptConnectionString.My.MySettings.Conn"
connectionString="Data Source=.\SQL2012;Initial Catalog=Test;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
</startup>
</configuration>فاذا اردنا تشفيره ولاتقلق بشأن فك التشفير حيث سيتم بشكل تلقائى ويمكن قراءة البيانات كانها غير مشفرة
Dim config As Configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
config.ConnectionStrings.SectionInformation.ProtectSection(Nothing)
config.Save(ConfigurationSaveMode.Full, True)لقراءة او تعديل نص الاتصال
config.ConnectionStrings.ConnectionStrings.Item("ChangeAndEncryptConnectionString.My.MySettings.Conn").ConnectionString = "Data Source=-\SQL2012;Initial Catalog=Test;Integrated Security=False"للمزيد http://msdn.microsoft.com/en-us/library/system.configuration.sectioninformation.aspx



