Кілька ідей ... Криптографія відкритого ключа - це найбільш гнучка відповідь.
Заплутаність (лише для коду)
Що стосується частин коду, які ви хочете приховати, чи можете ви розмістити їх в іншому проекті, скласти їх і зареєструвати лише скомпільований код, а не джерело? Це не шифрування і не підходить для шифрування паролів або ключів. Люди все ще можуть реверсувати інженер ваш скомпільований код, але вони не отримують джерело.
Приватний сховище GIT
Чи має бути це загальнодоступне сховище git?
Зберігання сервера
Чи можете ви зберегти цю інформацію в захищеному файлі в домашній каталозі облікового запису користувача, під яким працює програма? Я скопіював би спосіб, коли ssh робить це за допомогою ~ / .ssh / id_rsa та chmod 600. Якщо цього не вдалося, може бути використана змінна середовища. Вам потрібно десь на сервері зберігати якийсь ключ, інакше ви не можете захистити що-небудь.
Симетрична криптографія (тільки для вас)
Якщо ви єдиний розробник, ви можете покласти ключ на сервер і мати той самий ключ на вашому пристрої та використовувати симетричну схему шифрування для захисту деяких даних, таких як пароль або сертифікат. Обмін симетричним ключем з друзями стає безладним.
Асиметрична криптографія (для декількох розробників)
Якщо іншим розробникам потрібно перевірити секретні речі у сховищі публічних git, для цієї речі була зроблена криптографія з відкритим ключем / приватним ключем (несиметрична). Встановіть приватний ключ на свій сервер (не перевіряйте його в контролі джерела!) Та генеруйте з нього відкритий ключ. Зашифруйте свої секретні дані за допомогою відкритого ключа сервера. Тільки сервер може розшифрувати ці дані за допомогою свого приватного ключа. Ви навіть можете перевірити відкритий ключ у контролі джерела, щоб інші люди могли зашифрувати дані, використовуючи той самий відкритий ключ, і лише сервер може розшифрувати його.
Інструмент
Openssl - це, мабуть, єдиний інструмент криптографії, який вам коли-небудь знадобиться. Не пишіть власний алгоритм криптографії чи власну реалізацію опублікованого алгоритму.
Замикаючі думки
Якщо "сервер" - це веб-сервер, який використовує https, то ви вже повинні мати якусь захищену сховище ключів на сервері для зберігання приватного ключа. Це начебто вражає те, що хостинг-компанія не буде робити надбавки для це. Можливо, у них є деякі підказки, як інші вирішують завдання, з яким ви стикаєтесь?