問題タブ [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.
encryption - SQL Cipher を使用して Spatialite データベースを暗号化する
私は現在、ここに指定されたspatialite libを使用しています:
私が望むのは、spatialite データベースを暗号化することですが、問題はどこから始めればよいかわかりません。
私は SQLCipher を使用することを考えていますが、間違っていなければ、sqlcipher はすべての SQLiteDatabase インスタンスを置き換えますが、spatialite でこれを行うにはどうすればよいですか。
アイデアはありますか、または誰かがすでに似たようなことをしていますか? ありがとう!!!
android - 既存のアプリケーションのデータベースから SQLCipher 暗号化を削除する
データベースの暗号化に SQLCipher を使用する Android アプリケーションがあります。アプリケーションが稼働し、多くのアクティブ ユーザーがいます。ユーザーのデータを失うことなく、アプリケーションの既存のデータベースから SQLCipher 暗号化を削除できるソリューションを探しています。
この投稿に記載されているのとは逆のことを試みましたが、暗号化されたデータベース ファイルを開くことができませんでした。
そして、これが私が得たエラーログです...
android - テーブルからレコードを削除した後でも SQLCipher データベースのサイズが増え続ける
私の Android アプリケーションでは、データベースの暗号化に SQLCipher を使用しています。プロジェクトの要件に従って、サーバーに正常にアップロードされたらデータベースから削除する必要があるビットマップ文字列をローカル データベースに格納する必要があります。しかし、ここで SQLCipher で非常に奇妙な問題に遭遇しました。つまり、テーブルからすべての画像文字列を削除した後でも、アプリのデータベース サイズは減少せず、むしろ増加しました。たとえば、私のデータベースの初期サイズは 45 KB で、テーブル サイズに 30 個の画像文字列があると 2.91 MB になり、テーブルから 30 個の画像を削除した後、サイズは 3.04 MB に増加しました
しかし、通常の SQLite データベース、つまり SQLCipher 暗号化なしで同じケースを実行すると、期待どおりの結果が得られました。つまり、テーブルから画像を削除した後、db サイズ 2.91 が 50 KB に減少しました。
手伝ってください...
android - net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method) で SQLiteException がエラーではない
Androidスタジオでjunitテストケースを実行しているときに問題に直面しています。電話で初めてテストケースを実行すると問題なく動作するため、問題は非常に奇妙ですが、アプリが既にインストールされている場合、テストケースを実行すると次のエラーが発生します:-
すべての sqlcipher 依存関係が正しく構成されています。
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) で
android - Android Studio プロジェクトへの SQLCIPHER の統合
このリンクといくつかのスタックオーバーフロー リンクを使用して、Android アプリケーションに SQLCipher を統合しようとしました(ただし、それらは古く、公式ドキュメントとは異なります)。
すべての手順が正しく実行されており、コーディング部分にエラーはありません。しかし、最後に、プロジェクトをビルドすると、次のエラー メッセージが表示されます。
エラー:(11, 0) Gradle DSL メソッドが見つかりません: 'defaultConfig()' 考えられる原因:
誰でもこのエラーを取り除くのを手伝ってくれませんか。
android - greenDAO: データベース実装の抽象化
sqlcipher に非常によく似たものに基づいて、greenDAO で独自のカスタム SQLiteDatabase 実装を使用したいと考えています。greenDAO の新しくコミットされたブランチ「DbAbstraction」を見てきました。これはまさに私が必要とするものです。私は作者に尋ねています: master とマージする計画はありますか? greenDAO全体をフォークして自分でパッチを当てることができることはわかっていますが、これらをきれいにして、greenDAOの将来のバージョンと互換性を持たせたいと思っています。新しいバージョンごとにパッチを適用するのは見栄えがよくありません。続行する方法のヒントはありますか?
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に入れました
フォルダー内: armeabi
- libdatabase_sqlcipher.so
- libsqlcipher_android.so
- libstlport_shared.so
フォルダー内: armeabi-v7a
- libdatabase_sqlcipher.so
- libsqlcipher_android.so
- libstlport_shared.so
フォルダー内: x86
- libdatabase_sqlcipher.so
- libsqlcipher_android.so
- libstlport_shared.so
Androidスタジオの私のgradleファイルの下。
この後、アプリケーションを実行すると、毎回以下のエラーでクラッシュします。
android - HIPAA 準拠の Android アプリケーション
アプリを HIPAA に準拠するように構築していますが、アクセス トークンをリモート サーバーに保存したり、ローカル SQL で暗号化されたローカル データベース (SQLCipher など) を使用したりするにはどうすればよいでしょうか。
HIPAA 要件の性質を考慮すると、キーの適切な場所はサーバー上のみであり、モバイル デバイス上のローカルではないと結論付けることができます。
HIPAA 標準のセクション §164.312 には、次のように記載されています。
(a)(1) 標準: アクセス制御。§164.308(a)(4) で指定されているように、アクセス権が付与された人またはソフトウェア プログラムのみにアクセスを許可するために、電子的に保護された健康情報を維持する電子情報システムの技術ポリシーと手順を実装します。
ですから、より具体的に言うと、
1) 電話にアクセスできる人が最終的にキー/アクセス トークンを抽出できると仮定すると、ローカルのキー ストレージは HIPAA に準拠していないということですか?
2) メッセージング アプリを HIPAA に準拠させるにはどうすればよいですか? ユーザーはアプリを開くたびにパスワードの入力を求められるわけではないため、アクセス トークンは電話のローカルのどこかに保存されます。