我想以二进制格式将数据保存到Android内部存储。数据的值也来自android.location.Location和其他许多值。我不会使用writeObject
,因为这样可以节省大量不必要的信息,但我会将字段值(可能有些数据甚至被截断)保存为putLong
putDouble
到字节数组等等。
对于内部存储,我将使用附加方法通过myDataObject保存myDataObject,当新数据可用时,例如位置更新
我想要预防并知道数据是否丢失,修改后现在是无效的,并检测出错误的部分,以尽量减少损失。
这就是为什么我想在我的字节数组的最后写一个数据的校验和(哈希)。
建议写那个吗?我知道SHA加密需要很多处理器速度,这是我不想要的。什么方法足够快? - 计算1的字节数,例如?
答案 0 :(得分:1)
如果您只担心少量数据(几KB)的随机存储损坏,那么CRC32非常合适。它速度很快,很有可能检测到随机损坏。
如果您担心恶意修改(安全标记隐含),那就完全不同了。