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

سه شنبه 25 شهریور 1393

در این مقاله نحوه رمزنگاری 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 کردن آن نیست

 

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

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

 

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید