رمزنگاری ConnectionString در Web.Config

در این مقاله نحوه رمزنگاری EnCrypt و DeCrypt کردن رشته اتصال به بانک اطلاعاتی ConnectionString های موجود در Web.Config را آموزش خواهیم داد

رمزنگاری ConnectionString در Web.Config

سلام دوستان

خب ابتدا یک رشته اتصال  (Connection String) در Web.Config قرا میدهیم

    <connectionStrings>
        <add name="con" connectionString="Data Source=.;Initial Catalog=master;Persist Security Info=True;User ID=sa;Password=123"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

 

ابتدا یک Button در صفحه قرار میدیم و خاصیت text را EnCrypt قرا میدیم و کدها به شرح ذیل است

   Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
   ConfigurationSection appSettings = config.GetSection("connectionStrings");
   appSettings.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
   config.Save();

 

بعد از اجرا شدن کدها رشته های اتصال موجود در وب کانفیگ رمز نگاری خواهند شد

    <connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
        <EncryptedData>
            <CipherData>
                <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAuHWB/xqx3EuXCSI4lLGE8AQAAAACAAAAAAAQZgAAAAEAACAAAADNcp3rRrXdG8fKjddD1Haug6Mc96avJuPnosZ0iYEurwAAAAAOgAAAAAIAACAAAADP86XwZeu0cKzQXXKe1Kk/deE0zoZXLAbbZGN++F07vLABAAAYu4g3oQCT7Y/uPTVYLfHYTzLL+MD/Z5/7Yj6A0LNcu5A30SYHUqEQPqTqdTx2XdWrZQr7GS1lUwhuCeRgc94P/vooJrShZ5rcxhab8ihLb0F+T0/mbQKaQFUCnvLkSHY3rvBn3AwW9use6QOJp3EFjZEcJA/mIEuW5AMVnMTGBpk+j3nmknECFrj7+Rj6UK4EFrdtafjZAcXdAIh6AgrHhA3tZhPIoWsNVz29a4STXlhYW2cdD8Ct5HncvHXn7OwvgUBD7HUw3hm6e3Sw+jQd16Snx4FBRVZ3o8PnJ/YZDECP5XAgHIYZ6UCNuG7EUq5uWHTrolAt6jqeiR0gRYddl96+q9dFD1M6oAdJHMznRmKNY3hZt6m1d6RjG/08GQZk6lXkVrCvaSFYMqsjvqTjKqyDaeyUtB76NNHRiF8NP07Sgn0MqhElFrTxoBHVGPgQNnNk1prJ3yaORD4qglXAuHQMG2C7HuIoExaokZpBDbKBasLIFY+MOOLAruXPgOx1Jk/TbsXl01teF7pENsAB/s9AUTYM6QOCmgbAiolGlxUCoDUatE15KSjQuufR6vhAAAAAepX+tguXiv0oa6U4vIi3LpCFADCBYsHcDZaUPIyxlUxETPyJWdnpP+qN0c4SOAYHDfWb4+REOsyxEHZy3vjKtA==</CipherValue>
            </CipherData>
        </EncryptedData>
    </connectionStrings>

 

سپس کلید Decrypt و کدهای مربوط به آن

       Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);

            ConfigurationSection appSettings = config.GetSection("connectionStrings");

            appSettings.SectionInformation.UnprotectSection();
            config.Save();

 

بعد از اجرا شدن کدها رشته اتصال از رمزنگاری خارج خواهد شد

    <connectionStrings>
        <add name="con" connectionString="Data Source=.;Initial Catalog=master;Persist Security Info=True;User ID=sa;Password=123"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

 

 

لازم به ذکر است جهت استفاده از رشته اتصال در برنامه نیازی به DeCrypt کردن آن نیست

 

نمونه هم مضمیه شد

موفق و پیروز باشید

 

فایل های ضمیمه