問題タブ [sqlcipher-android]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
391 参照

encryption - SQL Cipher を使用して Spatialite データベースを暗号化する

私は現在、ここに指定されたspatialite libを使用しています:

私が望むのは、spatialite データベースを暗号化することですが、問題はどこから始めればよいかわかりません。

私は SQLCipher を使用することを考えていますが、間違っていなければ、sqlcipher はすべての SQLiteDatabase インスタンスを置き換えますが、spatialite でこれを行うにはどうすればよいですか。

アイデアはありますか、または誰かがすでに似たようなことをしていますか? ありがとう!!!

0 投票する
1 に答える
2197 参照

android - 既存のアプリケーションのデータベースから SQLCipher 暗号化を削除する

データベースの暗号化に SQLCipher を使用する Android アプリケーションがあります。アプリケーションが稼働し、多くのアクティブ ユーザーがいます。ユーザーのデータを失うことなく、アプリケーションの既存のデータベースから SQLCipher 暗号化を削除できるソリューションを探しています。

この投稿に記載されているのとは逆のことを試みましたが、暗号化されたデータベース ファイルを開くことができませんでした。

そして、これが私が得たエラーログです...

0 投票する
1 に答える
406 参照

android - テーブルからレコードを削除した後でも SQLCipher データベースのサイズが増え続ける

私の Android アプリケーションでは、データベースの暗号化に SQLCipher を使用しています。プロジェクトの要件に従って、サーバーに正常にアップロードされたらデータベースから削除する必要があるビットマップ文字列をローカル データベースに格納する必要があります。しかし、ここで SQLCipher で非常に奇妙な問題に遭遇しました。つまり、テーブルからすべての画像文字列を削除した後でも、アプリのデータベース サイズは減少せず、むしろ増加しました。たとえば、私のデータベースの初期サイズは 45 KB で、テーブル サイズに 30 個の画像文字列があると 2.91 MB になり、テーブルから 30 個の画像を削除した後、サイズは 3.04 MB に増加しました

しかし、通常の SQLite データベース、つまり SQLCipher 暗号化なしで同じケースを実行すると、期待どおりの結果が得られました。つまり、テーブルから画像を削除した後、db サイズ 2.91 が 50 KB に減少しました。

手伝ってください...

0 投票する
2 に答える
843 参照

android - net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method) で SQLiteException がエラーではない

Androidスタジオでjunitテストケースを実行しているときに問題に直面しています。電話で初めてテストケースを実行すると問題なく動作するため、問題は非常に奇妙ですが、アプリが既にインストールされている場合、テストケースを実行すると次のエラーが発生します:-

すべての sqlcipher 依存関係が正しく構成されています。

0 投票する
0 に答える
446 参照

android - Android SQLCipher - Android バージョン 5.x 以降で読み取り専用データベース エラーを書き込もうとする

先月から sqlcipher で 1 つの問題に直面しています。

私のプロジェクトでは、リソースフォルダーの生フォルダーに保存されている既存のデータベースを使用しています。

SQLiteDatabase.openOrCreateDatabase() メソッドを使用してデータベースを開きます。バージョン 5.0 より前のすべてのデバイスで問題なく動作しています。しかし、Android 5.x 以降のバージョンでエラーが表示され、次のようなログが表示されます。インターネットでも検索しました。リンクに同じ問題が見つかりましたが、解決策はありません。リンク: https://github.com/sqlcipher/android-database-sqlcipher/issues/161

エラーログは次のとおりです。

DELETE failed setting locale 08-13 09:44:58.388: E/Database(6507): データベースの構築時に setLocale() に失敗しました 08-13 09:44:58.388: E/Database(6507): net.sqlcipher .database.SQLiteException: 読み取り専用データベースに書き込みを試みます 08-13 09:44:58.388: E/Database(6507): net.sqlcipher.database.SQLiteDatabase.native_setLocale(Native Method) 08-13 09:44:58.388: E/データベース (6507): net.sqlcipher.database.SQLiteDatabase.setLocale (SQLiteDatabase.java:2098) で

0 投票する
1 に答える
5716 参照

android - Android Studio プロジェクトへの SQLCIPHER の統合

このリンクといくつかのスタックオーバーフロー リンクを使用して、Android アプリケーションに SQLCipher を統合しようとしました(ただし、それらは古く、公式ドキュメントとは異なります)。

すべての手順が正しく実行されており、コーディング部分にエラーはありません。しかし、最後に、プロジェクトをビルドすると、次のエラー メッセージが表示されます。

エラー:(11, 0) Gradle DSL メソッドが見つかりません: 'defaultConfig()' 考えられる原因:

  • プロジェクト「android-database-sqlcipher-master1」は、メソッドを含まないバージョンの Gradle を使用している可能性があります。Gradle ラッパー ファイルを開く
  • ビルド ファイルに Gradle プラグインがない可能性があります。Gradle プラグインを適用する
  • 誰でもこのエラーを取り除くのを手伝ってくれませんか。

    0 投票する
    0 に答える
    108 参照

    android - greenDAO: データベース実装の抽象化

    sqlcipher に非常によく似たものに基づいて、greenDAO で独自のカスタム SQLiteDatabase 実装を使用したいと考えています。greenDAO の新しくコミットされたブランチ「DbAbstraction」を見てきました。これはまさに私が必要とするものです。私は作者に尋ねています: master とマージする計画はありますか? greenDAO全体をフォークして自分でパッチを当てることができることはわかっていますが、これらをきれいにして、greenDAOの将来のバージョンと互換性を持たせたいと思っています。新しいバージョンごとにパッチを適用するのは見栄えがよくありません。続行する方法のヒントはありますか?

    0 投票する
    1 に答える
    6109 参照

    android - Java.lang.UnsatisfiedLinkError:「libstlport_shared.so が見つかりませんでした」

    私はSQL Cipherを初めて使用します。私は多くのものを読み、SQLCipher をプロジェクトに実装しました。

    以下の JAR ファイルをapp/src/libsに配置しました

    • commons-codec.jar
    • グアバ-r09.jar
    • sqlcipher.jar
    • sqlcipher-javadoc

    以下のファイルをapp/src/main/assetsに入れました

    • icudt46l.zip

    以下のファイルをapp/src/main/jniLibsに入れました

    1. フォルダー内: armeabi

      • libdatabase_sqlcipher.so
      • libsqlcipher_android.so
      • libstlport_shared.so
    2. フォルダー内: armeabi-v7a

      • libdatabase_sqlcipher.so
      • libsqlcipher_android.so
      • libstlport_shared.so
    3. フォルダー内: x86

      • libdatabase_sqlcipher.so
      • libsqlcipher_android.so
      • libstlport_shared.so

    Androidスタジオの私のgradleファイルの下。

    この後、アプリケーションを実行すると、毎回以下のエラーでクラッシュします。

    0 投票する
    0 に答える
    511 参照

    android - HIPAA 準拠の Android アプリケーション

    アプリを HIPAA に準拠するように構築していますが、アクセス トークンをリモート サーバーに保存したり、ローカル SQL で暗号化されたローカル データベース (SQLCipher など) を使用したりするにはどうすればよいでしょうか。

    HIPAA 要件の性質を考慮すると、キーの適切な場所はサーバー上のみであり、モバイル デバイス上のローカルではないと結論付けることができます。

    HIPAA 標準のセクション §164.312 には、次のように記載されています。

    (a)(1) 標準: アクセス制御。§164.308(a)(4) で指定されているように、アクセス権が付与された人またはソフトウェア プログラムのみにアクセスを許可するために、電子的に保護された健康情報を維持する電子情報システムの技術ポリシーと手順を実装します。

    ですから、より具体的に言うと、

    1) 電話にアクセスできる人が最終的にキー/アクセス トークンを抽出できると仮定すると、ローカルのキー ストレージは HIPAA に準拠していないということですか?

    2) メッセージング アプリを HIPAA に準拠させるにはどうすればよいですか? ユーザーはアプリを開くたびにパスワードの入力を求められるわけではないため、アクセス トークンは電話のローカルのどこかに保存されます。