Wie andere gesagt haben, gibt es eine Vielzahl von Möglichkeiten, Daten zu serialisieren. Sie können etwas Leichtes wie SQLite oder einfach Serialisierung verwenden. Stellen Sie nur fest, dass alle Versuche, die Sie zum Verschlüsseln der Daten unternommen haben, insbesondere im Fall von Java-Code vereitelt werden können, da sie leicht rückgängig gemacht werden können.
Wenn jedoch der Großteil Ihrer Benutzer nicht technisch genug ist, um die Komplexität des Reverse Engineering ein Java-Programm zu verstehen, um herauszufinden, wie Sie Ihre Daten entschlüsseln, sollten Sie in der Lage sein mit einigen grundlegenden Verschlüsselungsmethoden wie dem was war in einer anderen Antwort erwähnt und gut sein. Stellen Sie einfach fest, dass, wann immer sich etwas auf einer Maschine befindet, die Sie nicht kontrollieren, es keine Möglichkeit gibt, die hartnäckigsten Benutzer daran zu hindern, herauszufinden, wie man sie knackt.
Ich würde vorschlagen sqlite zu verwenden und eine einfache Verschlüsselung für die Daten, die Sie in die Felder einfügen, wenn jemand schlau genug ist, um mit der lokalen DB-Datei verbinden zu können, müssen sie Ihren Kryptoalgorithmus in einigen umgekehrt Weise. 99,9% der normalen Benutzer werden sich nicht mit dieser Untersuchung beschäftigen.
Es gibt natürlich nichts, was ihn davon abhält, zu einem Stream zu kompilieren, der Komprimierung und/oder Verschlüsselung unterliegt. Es wird niemals unzerstörbar sein, aber könnte unzerstörbar sein. Wenn es das wert ist? Wahrscheinlich nicht in den meisten Fällen. – Fredrik
Nein. Wenn die Anwendung, die den Stream verschlüsselt, auf dem Computer des Endbenutzers läuft, ist jede Art von Verschlüsselung eine absolute Zeitverschwendung, da es, wie ich geschrieben habe, sehr einfach ist, es im Debug-Modus auszuführen und die Daten vorher zu schnappen es wird verschlüsselt (abgesehen davon, dass die App den Verschlüsselungsschlüssel enthalten müsste). –