我需要在 iPhone 和 Android 上的数据库中存储几千个文本/数字组合。虽然在任一设备上创建数据库都没有问题 - 我想知道在这些数据库中实际制作数据的“机密性”如何?
我想避免的是任何人都“破解”了包含所有条目的完整数据库。
虽然我不在乎是否可以通过任何方式获得某些条目。
从数据库中提取所有数据应该尽可能困难。
用户387184,
对于 iOS 上最关键的数据,我个人建议使用 Keychain API(可以在Security框架中找到。Keychain 是一种加密存储,可用于存储帐户、密码、敏感数据。
但是,如果您希望加密整个数据库,您应该查看 Apple 的数据保护 API,它允许您使用 NSFileProtectionComplete 标志轻松加密整个数据库。
至于 Android,我不确定是否有用于此类操作的公开 API。您可以查看Android Encryption,但它适用于 Android 3.0 及更高版本的 Android 设备。
Android 的另一种方法是使用使用简单 PIN 码加密的存储,并提示用户在每次后续启动应用程序时输入密钥(但从用户体验的角度来看,这不是一个好的解决方案)。