Программное шифрование конфигурационного файла в .NET
-
09-06-2019 - |
Вопрос
Может ли кто-нибудь объяснить, как программно зашифровать конфигурационный файл в .NET, желательно на C#.
Я хотел бы выполнить какую-то проверку при запуске приложения, чтобы увидеть, является ли раздел незащищенным, и если да, то зашифровать его.Это касается как настроек, так и строк подключения.
Также, если бы кто-нибудь мог перечислить типы провайдеров шифрования и в чем разница между ними.
Я не знаю, прозрачен ли код для выполнения этого в обычном WinForms-приложении для выполнения этого в ASP.NET.
Решение
Подводя итог ответам и тому, что я нашел на данный момент, вот несколько хороших ссылок для ответа на этот вопрос:
- Шифрование информации о конфигурации в приложениях ASP.NET 2.0 — 4GuysFromRolla.com
- Как:Шифрование разделов конфигурации в ASP.NET 2.0 с помощью DPAPI — MSDN
Пожалуйста, не стесняйтесь дополнять другие ссылки, возможно, на WinForms- или WPF-приложения.
Другие советы
Есть хорошая статья от 4 ребят про Шифрование информации о конфигурации в приложениях ASP.NET 2.0
Надеюсь это поможет
Решение на сайте ниже у меня работает нормально.
http://www.a2zmenu.com/Blogs/CSharp/How-to-encrypt-configuration-file.aspx
@ТК:алгоритм хеширования можно только «угадать», а не реконструировать.Восстановить входные данные до хэш-значения можно только путем полного угадывания входных данных (то есть, за исключением коллизий). Это можно сделать, например, с помощью радужного взлома (см. реализация радужного взломщика здесь)
Я бы сказал, что сторонний инструмент шифрования не безопаснее, чем алгоритмы шифрования .NET Framework, эти библиотеки просто помогают вам выполнять свою работу быстрее.
Я сам не использовал ее, но библиотека Microsoft Enterprise имеет хорошую поддержку шифрования, которая, возможно, подойдет вашим потребностям: