重要なデータを保存するときは暗号化しよう Androidで重要なデータをSharedPreferenceや内部ストレージに保存する際、セキュリティを考慮して暗号化した値を保存することが好ましいです。 「Android AES」とかでググれば色々な例は出てきますが、秘密鍵をソース内にベタに書いてたりする微妙なコードも多いので注意です。 で、調べるうちに、Facebookが公開しているConcealという暗号化ライブラリに行き着きました。 ソースを全部読んでるわけではないですが、 APIがシンプル Android 4.3以前の端末で標準の暗号化ライブラリより高速 暗号化アルゴリズムはAES-GCM 実装はOpenSSLのもので、JNI経由でネイティブコードで実行する 暗号化に使う秘密鍵は初回に生成し、SharedPreferencesに保存している Androidの既知の乱数生成関連の不具合に
![Androidの暗号化ライブラリConcealを使ってみる - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/17aed7a4808d704201f58945349466697db7570d/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9QW5kcm9pZCVFMyU4MSVBRSVFNiU5QSU5NyVFNSU4RiVCNyVFNSU4QyU5NiVFMyU4MyVBOSVFMyU4MiVBNCVFMyU4MyU5NiVFMyU4MyVBOSVFMyU4MyVBQUNvbmNlYWwlRTMlODIlOTIlRTQlQkQlQkYlRTMlODElQTMlRTMlODElQTYlRTMlODElQkYlRTMlODIlOEImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTc5Mjc2NDM5MWNmODJkNGViMDFkZWEwOGIxYzg5YjIw%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBrb2Jha2VpJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03NGJjMzA5MjdlODU4ZTJiYWYyYTJhOGFmMjQ4ODBiZQ%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D76fbbdac1f814e848da41912502408ef)