رمزنگاری بخش های Web.Config با استفاده از aspnet_regiis.exe

در این مقاله می خواهیم به همراه یک مثال، رمزگذاری و رمزگشایی بخش Connection String در فایل webconfig را با استفاده از دستور aspnet_regiis.exe آموزش دهیم.

رمزنگاری  بخش های Web.Config با استفاده از aspnet_regiis.exe

در این مقاله آموزش می دهیم که چگونه با استفاده از خط فرمان Visual Studio بتوانیم Connection String در فایل web.config را رمز گذاری کرده و یا از رمزگذاری خارج کنیم.

یک Connection String  ساده و واضح در فایل Web.Config

                                                              یک Connection String قبل از رمز گذاری

 

مراحل رمزگذاری Connection String در فایل Web.Config

Visual Studio Cammand Promp-1 را باز کنید.

برای این کار Visual Studio 2010  را باز کنید و از منوی tools گزینه Visual Studio Command Prompt را انتخاب کنید.

به این نکته توجه داشته باشید که حتما با Administrator وارد شوید، روی گزینه Visual Studio Command Prompt راست کلیک کرده و گزینه  Run as Administrator را انتخاب کنید.

این آموزش  با Visual Studio 2010 می باشد و برای بقیه نسخه ها قابل انجام است. فقط تنها تفاوت در باز کردن Visual Studio Command Promptمربوط به نسخه نصب شده روی دستگاه شما می باشد.

2- رمز گذاری بخش Connection String

به منظور رمزگذاری این بخش، نیاز به استفاده از ابزار aspnet_regiis.exe داریم.

پارامتر ها:

Action: اعلام می کند که کار انجام شده. برای انجام رمزگذاری مقدار این پارامتر –pef است.

Section Name: نام آن بخش از فایل Web.Config که می خواهیم آن را رمزگذاری کنیم. برای این مورد، مقدار connectionStrings خواهد بود.

Path of the folder: در اینجا مسیر پوشه ای را که فایل Web.Config در آن قرار دارد را مشخص می کنیم.

کد دستوری:

aspnet_regiis.exe -pef "connectionStrings" "<Path of the Folder containing the Web.Config file>"
 مثال:
aspnet_regiis.exe -pef "connectionStrings" "D:\Mudassar\Projects\MyTestWebsite"

توجه: دستور بالا تمام connection string های موجود در بخش Connection String فابل  Web.Config  را رمزگذاری خواهد کرد.

                                               رمز گذاری بخش Connection String در فایل Web.Config

 

تصویر زیر بخش Connection String  را بعد از رمز گذاری نشان می دهد.

 

دسترسی به مقدار Connection String رمزگذاری شده در code behind

 Asp.NET وقتی که Connection String را در code behind واکشی کرد، بصورت خودکار آن را رمزگشایی خواهد کرد. بنابراین در code behind شما نیاز دارید به همان روش معمول به  Connection String دستیابی داشته باشید.

رمز گشایی Connection String در فایل Web.Config با استفاده از ابزار aspnet_regiis.exe

برای رمز گشایی ما به همان ابزار aspnet_regiis.exe که برای رمزگذاری استفاده کردیم، نیاز داریم.

پارامترها:

Action: اعلام می کند که کار انجام شده. برای انجام رمزگشایی مقدار این پارامتر –pdf است.

Section Name: نام آن بخش از فایل Web.Config که می خواهیم آن را رمزگشایی کنیم. برای این مورد، مقدار connectionStrings خواهد بود.

Path of the folder: در اینجا مسیر پوشه ای را که فایل Web.Config در آن قرار دارد را مشخص می کنیم.

کد دستوری:

aspnet_regiis.exe -pdf "connectionStrings" "<Path of the Folder containing the Web.Config file>"

مثال:

aspnet_regiis.exe -pdf "connectionStrings" "D:\Mudassar\Projects\MyTestWebsite"

توجه: دستور بالا تمام connection string های موجود در بخش Connection String فایل  Web.Config  را رمزگشایی خواهد کرد.