sql >> データベース >  >> RDS >> SQLite

Android用SQLCipherを使い始める方法は?

    Android用SQL暗号を適切に使用するには、外部ライブラリを使用し、DBと対話するコードの一部を変更する必要があります。

    1. これらは最初にプロジェクトに追加する必要があります(libsフォルダー内)。これらを取得するには、ここを参照してください:http://sqlcipher.net/sqlcipher-for-android/

    2. 次に、icudt4dl.zipファイルをアセットフォルダーに追加する必要があります。このZipにはSQL暗号ライブラリが付属しています。

    3. プロジェクトを右クリックし、プロパティに移動してからJavaビルドパスに移動し、commons-codec.jar、guava-r09.jar、sqlcipher.jarなどのライブラリを含めます。これが完了したら、ビルドクリーンを実行します。

    4. 次に、アプリ内で、android.database.sqliteをインポートする代わりに、import net.sqlcipher.database

      をインポートします。
    5. DBと相互作用するコードを変更します。例:

      SQLiteDatabase.loadLibs(context);

      文字列dbPath=this.getDatabasePath( "dbname.db")。getPath();

      SQLiteDatabase db =SQLiteDatabase.openOrCreateDatabase(dbPath、 "dbPassword"、null);

    6. データベースが暗号化されていることを確認し、EclipseのDDMSパースペクティブに移動し、[ファイルエクスプローラー]タブをクリックして、data / data /に移動し、.dbファイルをクリックして[デバイスファイルの取得]を選択し、デスクトップに保存して、テキストで開きます編集者。データベースに挿入しているプレーンテキストの値を探します。それでも読み取れる場合は、問題が発生しています。

    SQL Cipherを実装する前に、いくつかのSQLiteチュートリアルを確認することもお勧めします。良いものがここに記載されています:Androidsqliteデータベース-チュートリアルがメモ帳になっているので、どこから始めればよいですか?

    更新

    この回答は現在時代遅れであり、EclipseはAndroid開発では実質的に非推奨です。最近、Android Studio for Android 5 + 6でSQLCipherを使用してアプリを作成する必要がありました。これが、私が実行した手順です。

    Android Studioでは、ビルドファイルに依存関係としてSQLCipherを含めることができます。ビルドgradleの依存関係を更新して、次の行を含めます:

    dependencies{
        compile 'net.zetetic:android-database-sqlcipher:[email protected]'
    }
    

    ここでバージョンを最新に保つことができます:https://mvnrepository.com/artifact/net.zetetic/android-database-sqlcipher

    libフォルダーとassetフォルダーにあるSQLCipherファイルを削除しない限り、アプリはビルドされませんでしたが、その後は期待どおりに機能しました。これらの変更を行ったら、ビルド/クリーンを実行して、それが機能するかどうかを確認します。

    コードを変更する場合の上記と同じ手順は引き続き有効です。



    1. 非推奨の機能がSQLServerインスタンスでまだ使用されているかどうかを確認する2つの方法

    2. MySQL文字列置換

    3. mysqlにはOracleの分析関数と同等のものがありますか?

    4. MySQLのnow()+1日