0

Android内部ストレージにデータをバイナリ形式で保存したい。データには、android.location.Locationや他の多くの値も含まれています。writeObject多くの不必要な情報を保存するため、私は使用しませんputLong putDoubleが、バイト配列などに関しては、フィールド値ごとに (一部のデータは切り捨てられている可能性もあります) 保存します。

内部ストレージに myDataObject を myDataObject によって追加メソッドで保存します。新しいデータが利用可能になったとき (場所の更新など)

私は予防的であり、データが失われたり、変更されたりして現在無効になっているかどうかを知り、損失を最小限に抑えるために間違っている部分を検出したいと考えています。

そのため、バイト配列の最後にそのデータのチェックサム (ハッシュ) を書き込むことを考えています。

それを書くことをお勧めしますか?SHA 暗号化が多くのプロセッサ速度を必要とすることは知っていますが、これは望ましくありません。これにはどのような方法が十分に速いですか? - たとえば、バイト数を 1 でカウントしますか?

4

1 に答える 1

1

少量のデータ (数 KB) でのランダムなストレージの破損のみが心配な場合は、CRC32が適しています。高速で、ランダムな破損を検出する可能性が高くなります。

悪意のある変更 (セキュリティ タグによって暗示される) を心配している場合、それはまったく別の質問です。

于 2013-08-31T10:50:48.360 に答える