2017-03-15 13 views
0

私はこの質問に対する明確な答えを見つけることができませんでした。レルムを安全なファイルストレージとファイルリーダーとして使用する

は、私が実際に携帯電話に保存することなく、それらのファイルを表示し、その後、暗号化方法でファイルを保存/開くことができるようにためのAndroidRealmを使用します。それらは機密データファイルですので、それは私のアプリのローカルデータベースに残っているなら、それは完璧だろう。

Realmは私のケースに適していますか、そうでない場合はAndroidの他に何がありますか?

+0

レルムは永続的な記憶領域なので、あなたが入れたものは**暗号化されていますが、デバイスのファイルに保存されます**。 – maciekjanusz

+0

@maciekjanusz私が私の場合にどのように役立つかわかりません... – Jaythaking

+0

あなたは電話にファイルを保存したくないと言っていますが、私はそのレルムが電話に保存されているファイルを使用していると指摘しています。 – maciekjanusz

答えて

1

レルムは適合しているかどうか。再考する必要があるかもしれません。

データベースを暗号化したい場合は、簡単です。 Realmインスタンスを初期化するときに暗号化キーを与えてください。

ただし、いくつかの副作用があります。

  1. 大きなファイルをRealmに保存すると、速度が低下します。
  2. データが破損する危険性があります。
    データベースファイルが破損していると、すべてのデータが失われます。バックアップする必要があります。つまり、ファイルをRealmに保存すると、ファイルシステムのファイルを直接保存するサイズの2倍以上のサイズになります。
  3. 暗号化キー。
    アプリで同じキーを使用するだけでなく、各デバイスに基づく暗号化キーを設計する必要があります。誰かが自分の携帯電話から自分の携帯電話にデータベースファイルをコピーするだけで、あなたのアプリがそのデータベースを復号化するだけです。
+0

レルムファイルは16MBという制限がありますが、これはそれほど大きくはありません...それはかなり減速しますか?また、最初にファイルシステムのストレージに保存する必要なく、それらのファイルを読み取ることは可能ですか?私は同じ場所にすべてを格納するアイデアが好きです。外部ドライブでのストレージ/暗号化の処理を避けることを好むでしょう – Jaythaking

+0

@Jaythakingいいえ、16 MBはiOSまたはMacOSのNSStringとNSDataの制限です。あなたはAndroidにいると言いましたか?スピードの部分では、いくつかのデータを作成し、自分でテストすることをお勧めします。それを読むためにファイルシステムに保存する必要はありません。それはRAMで動作します。 –

+0

ああ、あなたはAndroidに制限がないと言っているのですか?ええ、私はこの方法でいくつかのテストを行い、速度が遅すぎる場合は、それを試してみることもできます[Android-Simple-Storage] https://android-arsenal.com/details/1/951#get-files – Jaythaking

2

あなたはレルムに画像を保存についてthis previous answer for a more deep explanationをチェックアウトすることができます(それはiOSの上だが、基本は同じです。多くの画像があるかどうそれをしないでください)あなたの具体的な使用例では

、やりました暗号化されたイメージをファイルシステムに保存し、レルムのイメージの参照を保存することを検討しますか?作業するには、ファイルパスと暗号化キーがデータベースに必要です。

+0

文書/画像はネイティブに暗号化されないので、完璧ですそれはそれ自身の暗号化システムを持っているので、それはレルム内に保つために – Jaythaking

+0

確かに、レルムは256ビットAES暗号化アルゴリズム、よく知られている暗号化アルゴリズムを使用しています、確かにあなたのためにheavyliftingを行うためにAndroidにいくつかのライブラリがあります。イメージ/ドキュメントをファイルシステムに保存する前に暗号化してから、レルムで各ファイルのパスと暗号化キーを保持するだけです(すべてのファイルが異なる暗号化キーを持っていればよいからです)。 – Orlando

+0

しかし、簡単な解決策を見つけることができませんでした。ファイルの暗号化/復号化は手間をかけているようです...そこにいくつかの魔法のライブラリがない限り、私は知らなかった... – Jaythaking

関連する問題