Тем, кто хоть иногда сталкивался с технологией .NET, наверняка приходилось настраивать конфигурационные файлы приложений, будь-то настольные приложения или же веб-приложения. Если ваше приложение работает с базой данных, то скорей всего вы добавляли в конфигурационные файлы строки следующего формата:
[code=xml]<connectionStrings>
<add name="Name" connectionString="Data Source=server;User ID=user;Password=pwd;persist security info=False;initial catalog=BlogEngine;" providerName="System.Data.SqlClient" />
</connectionStrings> [/code] В приведённом выше примере имя пользователя и пароль хранятся в открытом виде, что не всегда приемлемо. К счастью, .NET Framework предоставляет средства для скрытия такой информации. Используя утилиту коммандной строки aspnet_regiis.exe (ASP.NET), эту информацию можно зашифровать. Более подробно читаем в MSDN.
К сожалению, если у вас есть веб-приложение, выложенное на каком-то хостинге, запустить утилиту aspnet_regiis.exe вам никто не даст. По этому необходимо искать альтернативные решения. Как вариант, написать код, добавив страницу конфигурации (смотрим прикреплённый файл). Страница конфигурации имеет следующий вид:

Указываем секцию для шифрования, жмём ОК и получаем:
[code=xml]<appSettings configProtectionProvider="DataProtectionConfigurationProvider">
<EncryptedData>
<CipherData>
<CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAsaxvgs6ZWEuISiiBH1xhUgQAAAACAAAAAAADZgAAqAAAABAAAAAp89FcCcjWHQq6vX0s5gg3AAAAAASAAACgAAAAEAAAABdMVsofZYXXxYrZp7YWdy2IAAAACFZiI8SzneG3HnSUtTyo49jGrOOdZxFx9JXe4AJy+mR9LMMOIGTZl9KM3TLXY4GBNQwt3GR2rdoHblcV1Qa1SDWWI5UTtWyRmGuSovIepjboz6WBEF0AKT65W+xgyCg51txL7d76j/PekeS7Hj7sTEskRE48N1xMFLp4F7F10JQIhvaj5hUVhxQAAADwgJ+zt9fzgoU8tKsqwF0odKPrCA==</CipherValue>
</CipherData>
</EncryptedData>
</appSettings>[/code]
Да и еще, шифровать конфигурационный файл веб-приложения нужно непросредственно на хостинге, так как для этой процедуры используется, как я понимаю, специфический ключ компьютера, определённый в разделе <machineKey> файла machine.config. Поэтому попытки зашифровать у себя на машине с последующим выкладыванием на хостинг ни к чему не приведут. В том случае, если у вас есть доступ к серверу или вы хотите зашифровать конфигурационный файл у себя на машине, не используя дополнительную страницу, можно применить следующую утилиту (исходники прилагаются):

Указываем конфигурационный файл, имя секции, жмём Go и наслаждаемся результатом. Утилита позволяет шифровать конфигурационные файлы как настольных приложений, так и веб-приложений.
WebApplication(20,08 kb)
WindowsApplication (48,59 kb)
Удачного вам шифрования! :)
Читаем также:
Кеширование данных с помощью директивы OutputCache
Как разница между методом Response.Redirect и Server.Transfer?
Как разница между методом Finalize и деструктором?