Die einfache Antwort ist ja, Sie einen Schlüssel innerhalb einer App erstellen können - es gibt mehr Bibliotheken dies in der Java-Domain zu tun, zum Beispiel, vor allem auf dem Java JCE Api Standard gebaut:
es gibt Optionen, um, wie Sie die Bibliothek und Anbieter verwenden, und es gibt auch Standalone-Kryptographie-Bibliotheken vor allem BouncyCastle, und es ist Android-Derivat SpobgyCastle:
Es gibt eine Antwort hier etwas alt, aber sehr schön ist, die einen guten Hintergrund auf Android gibt: https://stackoverflow.com/a/9965964/334402
Es gibt eine gute Note ist oben in dem Java Cryptography Dokument, auch:
WARNUNG: Der JCA erleichtert die Integration von Sicherheitsfunktionen in Ihre Anwendung. Dieses Dokument behandelt jedoch nicht die Theorie der Sicherheit/Kryptographie über eine elementare Einführung in Konzepte hinaus, die notwendig sind, um die APIs zu diskutieren. Dieses Dokument deckt auch nicht die Stärken/Schwächen bestimmter Algorithmen ab, nicht das Protokolldesign. Kryptographie ist ein fortgeschrittenes Thema, und man sollte eine solide, vorzugsweise aktuelle Referenz konsultieren, um diese Werkzeuge bestmöglich zu nutzen.
Sie sollten immer verstehen, was Sie tun und warum: Kopieren Sie nicht einfach Zufallscode und erwarten Sie, dass es Ihr Nutzungsszenario vollständig löst. Viele Anwendungen wurden bereitgestellt, die erhebliche Sicherheits- oder Leistungsprobleme enthalten, weil das falsche Tool oder der falsche Algorithmus ausgewählt wurde.
Sie werden dies auch in vielen Kryptographie Texten Echo finden - im Wesentlichen ist es zu sagen, dass Ihre Sicherheit wie das schwächste Glied ist nur so stark, und es besteht die Gefahr der Kryptographie zu einer App hinzuzufügen und zu denken, alles ist dann fein.
Ein leicht zu verstehendes Beispiel für den schwächsten Link ist, wenn Sie ein sehr starkes privates/öffentliches Schlüsselpaar generieren, dann aber eine schwache Sicherheit um den privaten Schlüssel herum haben, was es einem Hacker ermöglicht, Ihre Anwendung zu debuggen.