Несколько идей ... Криптография с открытым ключом - самый гибкий ответ.
Запутывание (только для кода)
Для частей кода, которые вы хотите скрыть, вы могли бы поместить их в другой проект, скомпилировать их и проверить только скомпилированный код, а не исходный код? Это не шифрование и не подходит для шифрования паролей или ключей. Люди все еще могут перепроектировать ваш скомпилированный код, но они не получают исходный код.
Закрытое хранилище GIT
Это должен быть публичный репозиторий git?
Серверное хранилище
Можете ли вы сохранить эту информацию в защищенном файле в домашнем каталоге учетной записи пользователя, под которой работает приложение? Я бы скопировал способ, которым ssh делает это с ~ / .ssh / id_rsa и chmod 600. В противном случае можно использовать переменную окружения. Вам нужно где-то на сервере хранить какой-то ключ, иначе нет способа защитить что-либо.
Симметричная криптография (только для вас)
Если вы являетесь единственным разработчиком, вы можете поместить ключ на сервер и иметь этот же ключ на своем компьютере и использовать симметричную схему шифрования для защиты некоторых данных, таких как пароль или сертификат. Совместное использование симметричного ключа с друзьями становится грязным.
Асимметричная криптография (для нескольких разработчиков)
Если другим разработчикам нужно проверять секретные вещи в общедоступном git-репозитории, для такого рода вещей была создана криптография с открытым / закрытым ключом (асимметричная). Установите закрытый ключ на свой сервер (не включайте его в систему контроля версий!) И сгенерируйте открытый ключ из него. Зашифруйте ваши секретные данные с помощью открытого ключа сервера. Только сервер может расшифровать эти данные, используя свой закрытый ключ. Вы даже можете проверить открытый ключ в управлении исходным кодом, чтобы другие люди могли шифровать данные с использованием того же открытого ключа, и только сервер может расшифровать его.
Орудие труда
Openssl, вероятно, единственный криптографический инструмент, который вам когда-либо понадобится. Не пишите свой собственный алгоритм криптографии или собственную реализацию опубликованного алгоритма.
Заключительные мысли
Если «сервер» - это веб-сервер, который использует https, то у вас уже должно быть какое-то безопасное хранилище ключей на сервере для хранения закрытого ключа. Это своего рода сногсшибательное, что хостинговая компания не делает скидок на это. Может быть, у них есть некоторые подсказки о том, как другие решают проблему, с которой вы сталкиваетесь?