Diverse idee ... La crittografia a chiave pubblica è la risposta più flessibile.
Offuscamento (solo per codice)
Per le parti del codice che vuoi nascondere, potresti inserirle in un altro progetto, compilarle e controllare solo il codice compilato, non l'origine? Questo è non è la crittografia e non adatto per la crittografia delle password o chiavi. Le persone possono ancora decodificare il codice compilato, ma non ottengono la fonte.
Repository GIT privato
Deve essere un repository git pubblico ?
Archiviazione server
È possibile memorizzare queste informazioni in un file protetto nella home directory dell'account utente con cui viene eseguita l'applicazione? Vorrei copiare il modo in cui ssh fa questo con ~ / .ssh / id_rsa e un chmod di 600. In caso contrario, è possibile utilizzare una variabile di ambiente. È necessario un punto del server per archiviare un tipo di chiave o non è possibile proteggere nulla.
Crittografia simmetrica (solo per te)
Se sei l'unico sviluppatore, potresti mettere una chiave sul server e avere quella stessa chiave sul tuo computer e utilizzare uno schema di crittografia simmetrica per proteggere alcuni dati come una password o un certificato. La condivisione di una chiave simmetrica con gli amici diventa confusa.
Crittografia asimmetrica (per più sviluppatori)
Se altri sviluppatori hanno bisogno di controllare cose segrete in un repository git pubblico, la crittografia a chiave pubblica / chiave privata (asimmetrica) è stata creata per questo tipo di cose. Installa una chiave privata sul tuo server (non controllarla nel controllo del codice sorgente!) E genera una chiave pubblica da esso. Crittografa i tuoi dati segreti usando la chiave pubblica del server. Solo il server può decodificare quei dati usando la sua chiave privata. Puoi persino controllare la chiave pubblica nel controllo del codice sorgente in modo che altre persone possano crittografare i dati utilizzando la stessa chiave pubblica e solo il server può decrittografarla.
Attrezzo
Openssl è probabilmente l'unico strumento di crittografia di cui avrai mai bisogno. Non scrivere il tuo algoritmo di crittografia o la tua implementazione di un algoritmo pubblicato.
Pensieri finali
Se il "server" è un web server che utilizza https, allora dovresti già avere un keystore sicuro di qualche tipo sul server in cui archiviare la chiave privata. È un po 'strabiliante che una società di hosting non tenga conto di Questo. Forse hanno qualche suggerimento su come gli altri risolvono la sfida che stai affrontando?