6
การรักษาความลับของสตริงในซอร์สโค้ด (เปิด)
ฉันได้พัฒนาแอพสำหรับ Android และตั้งใจที่จะเผยแพร่มันด้วย GPL - ฉันต้องการให้มันเป็นโอเพนซอร์ส อย่างไรก็ตามลักษณะของแอปพลิเคชั่น (เกม) คือมันจะถามปริศนาและมีคำตอบที่เข้ารหัสลงในทรัพยากรสตริง ฉันไม่สามารถเผยแพร่คำตอบได้! ฉันได้รับคำสั่งให้ดูที่การเก็บรหัสผ่านอย่างปลอดภัย - แต่ฉันไม่พบสิ่งที่เหมาะสม เป็นไปได้ไหมที่จะเผยแพร่ซอร์สโค้ดของฉันด้วยอาร์เรย์สตริงที่ซ่อนเข้ารหัสหรือถูกบดบัง บางทีการอ่านคำตอบจากฐานข้อมูลออนไลน์ ปรับปรุง โซลูชันของ Yuval Filmus ด้านล่างใช้งานได้ เมื่อฉันอ่านครั้งแรกฉันยังไม่แน่ใจว่าจะทำอย่างไร ฉันพบโซลูชันบางอย่างสำหรับตัวเลือกที่สอง: การจัดเก็บโซลูชันแฮชในแหล่งที่มาและคำนวณแฮชทุกครั้งที่ผู้ใช้คาดเดา การทำเช่นนี้ใน JavaScript มีห้องสมุดการเข้ารหัสลับ js ที่http://code.google.com/p/crypto-js/ สำหรับ Android ให้ใช้ฟังก์ชันMessageDigest มีแอปพลิเคชัน (บน fdroid / github) เรียกว่าHashPassซึ่งทำสิ่งนี้