MASTG-KNOW-0037 SQLite データベース (SQLite Database)
SQLite は .db ファイルにデータを保存する SQL データベースエンジンです。Android SDK は SQLite データベースについて ビルトインサポート しています。データベースを管理するために使用されるメインパッケージは android.database.sqlite です。
たとえば、以下のコードを使用して、アクティビティ内で機密情報を保存しているかもしれません。
var notSoSecure = openOrCreateDatabase("privateNotSoSecure", Context.MODE_PRIVATE, null)
notSoSecure.execSQL("CREATE TABLE IF NOT EXISTS Accounts(Username VARCHAR, Password VARCHAR);")
notSoSecure.execSQL("INSERT INTO Accounts VALUES('admin','AdminPass');")
notSoSecure.close()そのアクティビティが呼び出されると、提供されたデータでデータベースファイル privateNotSoSecure が作成され、クリアテキストファイル /data/data/<package-name>/databases/privateNotSoSecure に保存されます。
データベースのディレクトリには SQLite データベース以外にも以下のいくつかのファイルを含むことがあります。
ジャーナルファイル: これらはアトミックコミットとロールバックを実装するために使用される一時ファイルです。
ロックファイル: ロックファイルは、SQLite の並行性を向上し、書き込み枯渇問題を軽減するために設計された、ロックおよびジャーナル機能の一部です。
機密情報は暗号化されていない SQLite データベースに保存してはいけません。
Last updated
Was this helpful?