Birkaç fikir ... Açık Anahtar Şifreleme en esnek cevaptır.
Şaşırtma (sadece kod için)
Kodun gizlemek istediğiniz kısımları için farklı bir projeye koyabilir, derleyebilir ve kaynağı değil yalnızca derlenmiş kodu teslim edebilir misiniz? Bu şifreleme değildir ve şifreleri veya anahtarları şifrelemek için uygun değildir . İnsanlar derlenmiş kodunuzu yine de tersine çevirebilirler, ancak kaynak alamazlar.
Özel GIT deposu
Halka açık bir depo olmak zorunda mı ?
Sunucu Deposu
Bu bilgiyi, uygulamanın çalıştığı kullanıcı hesabının giriş dizinindeki korumalı bir dosyada saklayabilir misiniz? Ssh'ın ~ / .ssh / id_rsa ve 600'ün chmod'unu yaptığı gibi kopyalarım. Bir tür anahtarı saklamak için sunucuda bir yere ihtiyacınız var veya herhangi bir şeyi korumanız mümkün değil.
Simetrik Şifreleme (sadece sizin için)
Tek geliştiriciyseniz, sunucuya bir anahtar koyabilir ve makinenizde aynı anahtara sahip olabilir ve bir parola veya sertifika gibi bazı verileri korumak için simetrik bir şifreleme düzeni kullanabilirsiniz. Simetrik bir anahtarı arkadaşlarla paylaşmak dağınık hale gelir.
Asimetrik Şifreleme (çoklu geliştiriciler için)
Diğer geliştiricilerin gizli şeyleri bir kamuya açık depoda kontrol etmesi gerekiyorsa, bu tür bir şey için genel anahtar / özel anahtar (asimetrik) şifrelemesi yapıldı. Sunucunuza özel bir anahtar kurun (kaynak kontrolünde kontrol etmeyin!) Ve bundan ortak bir anahtar oluşturun. Sunucunun genel anahtarını kullanarak gizli verilerinizi şifreleyin. Özel sunucu kullanarak yalnızca sunucu bu verilerin şifresini çözebilir. Genel anahtarı kaynak kontrolünde bile kontrol edebilirsiniz, böylece diğerlerinin de aynı genel anahtarı kullanarak verileri şifreleyebilir ve yalnızca sunucu şifresini çözebilir.
araç
Openssl muhtemelen ihtiyaç duyacağınız tek şifreleme aracıdır. Kendi şifreleme algoritmanızı ya da yayınlanmış bir algoritmayı kendi uygulamanızı yazmayın.
Kapanış düşünceleri
"Sunucu", https kullanan bir web sunucusuysa, o zaman özel anahtarı depolamak için sunucuda bir tür güvenli anahtar deposu bulundurmanız gerekir. Bir barındırma şirketinin izin vermeyeceği bir düşünce bu. Belki de başkalarının karşılaştığınız sorunu çözme konusunda bazı ipuçları vardır?