แนวคิดหลายประการ ... การเข้ารหัสคีย์สาธารณะเป็นคำตอบที่ยืดหยุ่นที่สุด
ความสับสน (สำหรับรหัสเท่านั้น)
สำหรับส่วนต่าง ๆ ของรหัสที่คุณต้องการซ่อนคุณสามารถใส่พวกมันในโครงการอื่นรวบรวมพวกมันและเช็คอินเฉพาะโค้ดที่คอมไพล์ไม่ใช่ซอร์สหรือไม่? นี่ไม่ใช่การเข้ารหัสและไม่เหมาะสำหรับการเข้ารหัสรหัสผ่านหรือกุญแจ ผู้คนยังสามารถทำวิศวกรรมย้อนกลับโค้ดที่คอมไพล์ของคุณได้ แต่พวกเขาไม่ได้รับซอร์ส
พื้นที่เก็บข้อมูล GIT ส่วนตัว
มันต้องเป็นที่เก็บคอมไพล์สาธารณะหรือไม่?
ที่เก็บข้อมูลเซิร์ฟเวอร์
คุณสามารถเก็บข้อมูลนี้ไว้ในไฟล์ที่มีการป้องกันในโฮมไดเร็กตอรี่ของบัญชีผู้ใช้ที่แอปพลิเคชันทำงานอยู่ได้หรือไม่? ฉันจะคัดลอกวิธีที่ ssh ทำเช่นนี้กับ ~ / .ssh / id_rsa และ chmod ของ 600 หากไม่สามารถใช้ตัวแปรสภาพแวดล้อมได้ คุณต้องการที่อื่นบนเซิร์ฟเวอร์เพื่อจัดเก็บคีย์บางประเภทหรือไม่มีวิธีใดที่คุณสามารถป้องกันสิ่งใด ๆ ได้
การเข้ารหัสแบบสมมาตร (สำหรับคุณเท่านั้น)
หากคุณเป็นผู้พัฒนาเพียงผู้เดียวคุณสามารถใส่รหัสบนเซิร์ฟเวอร์และมีรหัสเดียวกันบนเครื่องของคุณและใช้รูปแบบการเข้ารหัสแบบสมมาตรเพื่อปกป้องข้อมูลบางอย่างเช่นรหัสผ่านหรือใบรับรอง การแบ่งปันคีย์สมมาตรกับเพื่อน ๆ
การเข้ารหัสแบบอสมมาตร (สำหรับนักพัฒนาหลายคน)
หากผู้พัฒนารายอื่นจำเป็นต้องตรวจสอบสิ่งที่เป็นความลับในที่เก็บสาธารณะ git, การเข้ารหัสสาธารณะคีย์สาธารณะ / ส่วนตัว (ไม่สมมาตร) ถูกสร้างขึ้นสำหรับสิ่งนี้ ติดตั้งรหัสส่วนตัวบนเซิร์ฟเวอร์ของคุณ (อย่าตรวจสอบลงในการควบคุมแหล่งที่มา!) และสร้างรหัสสาธารณะจากมัน เข้ารหัสข้อมูลลับของคุณโดยใช้กุญแจสาธารณะของเซิร์ฟเวอร์ มีเพียงเซิร์ฟเวอร์เท่านั้นที่สามารถถอดรหัสข้อมูลนั้นโดยใช้ไพรเวตคีย์ คุณสามารถตรวจสอบกุญแจสาธารณะในการควบคุมซอร์สเพื่อให้ผู้อื่นสามารถเข้ารหัสข้อมูลโดยใช้กุญแจสาธารณะเดียวกันและมีเพียงเซิร์ฟเวอร์เท่านั้นที่สามารถถอดรหัสได้
เครื่องมือ
Openssl อาจเป็นเครื่องมือเข้ารหัสเท่านั้นที่คุณต้องการ อย่าเขียนอัลกอริทึมการเข้ารหัสของคุณเองหรือการใช้อัลกอริทึมที่เผยแพร่ของคุณเอง
ปิดความคิด
หาก "เซิร์ฟเวอร์" เป็นเว็บเซิร์ฟเวอร์ที่ใช้ https คุณควรมีที่เก็บคีย์ที่ปลอดภัยบนเซิร์ฟเวอร์เพื่อจัดเก็บคีย์ส่วนตัวไว้เป็นที่น่าประหลาดใจที่ บริษัท โฮสติ้งจะไม่ให้ความช่วยเหลือ นี้. บางทีพวกเขาอาจมีคำใบ้เกี่ยวกับวิธีที่คนอื่นแก้ปัญหาที่คุณเผชิญ