Skip to content

SpaceSolver/android_secure_data_save_load

Repository files navigation

内蔵ストレージに暗号化データを保持する

検討必要かもトピック

  • KeyStoreに指定するaliasはグローバルにユニークじゃないといけないのか?

参考URLと読んだ感想

アプリの外観(ソースコード)

  • 暗号化、複合化の処理と、暗号化データのSharedPreferenceへの保存
    • 保存するデータはkey:"User"として1つだけ保存
  • 各データはSharedPreferenceへの保存を見越してBase64エンコードしている
    • 公式のサンプルもそうなってる
  • 認証キーを生成
    • MainActivity.java#createNewKey
  • キーを使って暗号化
    • MainActivity.java#encryptString
  • キーを使って複合化
    • MainActivity.java#decryptString
  • 暗号化データの保存(SharedPreference)
    • MainActivity.java#onSaveButtonClicked
  • 保存データの読み出し(SharedPreference)
    • MainActivity.java#onLoadButtonClicked
  • 保存データの破棄(SharedPreference)
    • MainActivity.java#onPurgeButtonClicked
  • 起動時に保存データがあるかどうか確認しつつ複合化
    • MainActivity.java#loadSavedData

アプリの外観(見た目)

  • [ENCRYPT]ボタン
    • テキストボックス内の文字列を暗号化して結果を表示
  • [DECRYPT]ボタン
    • テキストボックス内の文字列を複合化して結果を表示(encryptとは別窓)
  • [CLEAR]ボタン
    • 暗号化/複合化データの初期化
  • [SAVE]ボタン
    • [ENCRYT]ボタンを押してから使います
    • 暗号化データをSharedPreferenceに保存
  • [LOAD]ボタン
    • SharedPreferenceに保存しているデータの読み出し
  • [PURGE]ボタン
    • SharedPreferenceに保存しているデータの破棄

About

端末上に暗号化したデータを保存するサンプル

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages