فرهاد خانلری
کارشناس ارشد شبکه مایکروسافت

آموزش رمزنگاری Connection String در web.config به زبان ساده

Connection String را چگونه با web.config امن کنیم ؟ در این مطلب نحوه رمزنگاری EnCrypt و DeCrypt کردن رشته اتصال به بانک اطلاعاتی 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();

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

<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();

که در این حالت پس از اجرا شدن کدها رشته اتصال از رمزنگاری خارج خواهد شد و Decrypt خواهند گردید.

<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 کردن آن نیست.

یادگیری برنامه نویسی برای متخصصین حوزه کامپیوتر این روزها یک الزام به حساب می آید. از جمله محبوب ترین زبان های برنامه نویسی دنیا می توانیم به زبان برنامه نویسی سی شارپ ، زبان برنامه نویسی جاوا ، زبان برنامه نویسی پایتون ، زبان برنامه نویسی سی پلاس پلاس و زبان برنامه نویسی SQL ( لازمه هر زبان دیگری ) و زبان برنامه نویسی PHP اشاره کنیم.

برای آموزش برنامه نویسی می توانید با خیال راحت در قالب دوره های آموزش برنامه نویسی سایت توسینسو ، آموزش سی شارپ ، آموزش جاوا ، آموزش پایتون ، آموزش جنگو ، آموزش PHP ،  آموزش جاوا اسکریپت ، آموزش برنامه نویسی اندروید ، آموزش SQL و آموزش MySQL را بصورت جامع و حرفه ای آموزش ببینید.


فرهاد خانلری
فرهاد خانلری

کارشناس ارشد شبکه مایکروسافت

فرهاد خانلری ، مدرس شبکه و برنامه نویسی مبتنی بر زیرساخت های مایکروسافت ، سابقه فعالیت در موسسات و مراکز دولتی در قالب پروژه ، مشاوره و تدریس ، برنامه نویسی ++C ، سی شارپ و دات نت ، متخصص و مدرس شبکه های مبتنی بر سیستم عاملهای مایکروسافت و سرویس های مربوطه ، سخت افزار و ...

نظرات