2

多くの理由から、Androidにビッグデータを保存するのに内部ストレージが適切な場所ではないことは誰もが知っていることです。そのため、SDカードを使用する必要があります。私のアプリは、キャッシュフォルダにたくさんの小さなビデオや画像を保存する必要があります。このため、標準の「/ sdcard / Android/cache」ディレクトリを使用しています。

問題は、内部ストレージがSDカードを読み取るのがそれほど簡単ではなく、代わりに他の場所で簡単に読み取りおよびマウントできることです。

私の考えは、入力ファイルと出力ファイルのストリームクラスをオーバーライドして、xor演算子またはその他の簡単な「スクランブリング」コードを導入することです。これは良い考えでしょうか?多くのオーバーヘッドを追加しないより良い解決策はありますか?

4

4 に答える 4

3

いつでもデータの暗号化を試みることができます。あなたが見たいと思うかもしれない良い反応がここにあります:

ユーザー データを Android デバイスに安全に保存する方法はありますか?

于 2011-09-14T16:35:26.177 に答える
2

画像がたくさんある場合は、DB バックエンドが必要です。画像ごとに 32 文字のキーを作成する必要がありますが、わかりません。キャッシュにファイルを書き込むと、そのキーが 4/6/8 に分割されます。 1つではなく4/6/8ファイルを書き込みます。

この方法では、どれがチャンクであるかを知る必要があり、チャンクの順序は内部ディレクトリに保存されているDB上にあるため、データを読み取るのはそれほど簡単ではありません。

オーバーヘッドはまったくありません。

于 2011-09-14T17:37:14.103 に答える
0

ファイルシステムはファットまたはファット32である可能性が高いため、パーミッションベースの方法で保護するのはより複雑になります。

フラットテキストファイルを保存している場合は、いくつかの「パス」とともにエンコードおよびデコードするための複雑なアルゴリズムを見つけることをお勧めします。ただし、あまり安全ではありません。

ファイルシステムを変更または変換できる場合は、いくつかのオプションを開くことができます。msのefsを使用できます。ただし、ボリュームを ntfs に変換すると機能します。Androidはそのファイルシステムを読み取れないと確信しています。特にefsでは。

于 2011-09-14T16:37:16.690 に答える
0

データを暗号化し、キーをプライベート ストレージに保存することをお勧めします。

xor などの中途半端なものは使用しないでください。それは簡単に解読できます。

于 2011-09-16T23:54:20.633 に答える