問題タブ [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.
java - 異なるフレーバーの同じメソッドを持つ異なるデータベース ライブラリ ベスト プラクティスは?
私の Androdi アプリには、異なる SQL 実装を使用する必要がある 2 つの異なる falvour があります。1 回の使用:
そして2番目:
私はそのような方法を持っています:
コピー&ペーストを避けるために、この状況をどのように解決すればよいですか? ベストプラクティスは何ですか? 私にはいくつかのアイデアがあります: 最初の 1 つ (多くのコピーペーストで最悪) は、さまざまな方法を提供することです:
2番目は、適切なデータベースをインポートするすべてのフレーバーでこのクラスを他のクラスでラップすることです(集約、SQLiteDatabaseとしての構成は最終です):
使用法:
android - Android SQLite ファイル暗号化
ホスティング アプリで使用する SDK を構築しています。この SDK には、SQLite を使用した DB の操作が含まれています。
要件の 1 つは、デバイスから SQLite データベースを取得してユーザーの個人情報を使用することを防ぐために、DB を暗号化することです。
SQLCipherの使用を開始しましたが、64 ビット アーキテクチャ デバイスがサポートされていないため、アプリケーションがクラッシュしました。
他にもいくつかの可能性を確認しましたが、それらすべてが他の問題を引き起こしているため、自分で処理することにしました。
私の質問:
- Android には DB ファイルの暗号化メカニズムがありますか?
- アプリケーションの起動時にファイルを暗号化し、アプリケーションの終了時に再度復号化できますか? iOSにはNSFileProtectionと呼ばれる何らかの可能性があることを知っています
- 64ビットデバイスをサポートする、DB暗号化を処理できる他のライブラリを知っていますか?
- JNI( javax.crypto )を使用せずに、これに対するAndroidソリューションがあるかどうか知っていますか?
情報やヘルプをいただければ幸いです。
android - SQLiteException: ファイルが暗号化されているか、データベースではありません: ロケール テーブルの作成に失敗しました
db 操作用に以下の 2 つのクラスがあります。
と
次に、 deleteAllData() メソッドの単体テストを作成しようとしています
次に、単体テストを実行すると、このエラーが発生します。
私は間違いなく、データベースを開くたびに同じキーを定数として使用しています。誰かがここで問題になる可能性があることを指摘できますか? テストコードを実行するたびに同じエラーが発生します。
android - SQLcipher パスワードをローカルに保存する方法
私は SQLcipher を使用するアプリケーションに取り組んでおり、それはオフラインであるため、暗号化されたデータベースと通信するためにサーバーからキーをフェッチすることはできません。デバイス内のどこかに安全に保存する必要があります。1 つの解決策は優先的にキーを保存することですが、電話がルート化されている場合はこれらのフォルダーにアクセスできます。アプリケーションで使用されるデータは機密性が高く、アクセスすることはできません。このケースを整理するための推奨事項を教えていただければ幸いです。前もって感謝します。
android - ファイルが暗号化されているか、データベースではない: Android の SQLCipher
次の方法を使用して、Linux コマンド ラインから SQLite データベースを暗号化しました。
暗号化されたデータベースを Android プロジェクトの assets フォルダーに配置し、次の方法でコピーしました。
しかし、このデータベースを開こうとすると、「ファイルが暗号化されているか、データベースではありません」というエラーが表示されます。コマンドラインで暗号化するために使用したのと同じキーを使用して開きます。
このようにデータベースを開きます。
何か不足していますか?