How can i conceal the content of a file that is constructed using a Java desktop application and used by an Android app?
I'm constructing a tool that enable teachers to create exercises by using a Java desktop application. The exercises consists of questions and their answers and are saved to a single file.
The students import this file into an Android app.
The students must naturally not be allowed to view the content of the excercise file as this would give them the answers to the questions. So, how can i conceal the content of a file that is constructed using a Java desktop application and used by an Android app?
My first thought was to encrypt the file using symmetric encryption and the password hardcoded into the Java desktop application and the Android app, however I presume a simple reverse-engineering of the Java desktop application would reveal the password quickly. My next thought was to use some sort of public key encryption, hardcoding the private key into the Android app, but without being certain I assume it is possible开发者_如何学C to reverse-engineer the Android app as well. So what is my strategy? Is there any obvious solution I just can't wrap my mind into?
Edit - additional info:
- I would like to avoid the usage of web servers.
The most secure way is to let questions have ids and then let android application check the answer in runtime using some remote servers, so that application will never know about the correct answer. But you have to develop a web-service to do it.
精彩评论