Первый совет: никогда не храните ничего чувствительного в вашем коде напрямую.Вы можете всегда перепроектировать это, независимо от того, насколько умно вы пытаетесь его запутать.
Я читал о таких вещах, как взлом пароля на несколько частей, размещение его в разных местах вкодировать и запускать их через ряд функций, прежде чем, наконец, использовать их ... хотя это усложняет задачу, вы все равно всегда можете контролировать приложение, используя отладчик, и в конечном итоге вы сможете получить секретную информацию.
Если я правильно интерпретирую ваш сценарий, то у вас есть код, который должен быть развернут на территории какого-либо клиента, и ваш код подключен к базе данных (что, я полагаю, также находится под наблюдением клиента), для подключения к нему требуется пароль.Этот пароль известен этому клиенту, поэтому пытаться скрыть его от клиента довольно бесполезно.То, что вы делаете хотите, это ограничить доступ к этому паролю от любого, кто не должен его знать.
Обычно вы достигаете этого, помещая конфиденциальную информацию в отдельный файл в папку, котораядолжны иметь очень ограничительные разрешения, доступ должен иметь только приложение и несколько избранных пользователей.Затем приложение получит доступ к информации, когда это необходимо во время выполнения.
Кроме того, шифрование отдельного файла становится проблемой - если вы это сделаете, то есть ключ, который снова должен быть каким-то образом защищен - бесконечно.рекурсия идет своим чередом :) Обеспечение доступа к файлу часто достаточно, но если вам действительно нужно быть максимально безопасным, тогда решение заключается в использовании шифрования на основе пароля для файла.Но идея здесь не в том, чтобы хранить пароль в другом месте системы, а в виде внеполосной информации (например, в физическом хранилище) и ввода пароля при запуске приложения.Это также имеет свои проблемы: физическое присутствие человека требуется для (повторного) запуска приложения, и вы все равно можете получить пароль из ОЗУ компьютера, на котором запущено приложение.Но, вероятно, это лучшее, что вы можете сделать без специального оборудования.
Еще одна хорошая альтернатива шифрованию на основе пароля - это использование специфичных для ОС «хранилищ паролей», таких как Windows 101 * * Isolated Storage * 1018.* это своего рода компромисс между отсутствием шифрования и сохранением пароля вне диапазона.