2012-04-28 60 views
1

我需要将几千个文本/数字组合存储在iPhone和Android上的数据库中。虽然在任一设备上创建数据库都不是问题 - 我想知道如何在这些数据库中实际制作数据“机密”?在iPhone/Android上的数据库中存储机密信息

我想避免的是任何人都会用所有条目“破解”完整的数据库。

虽然我不在乎是否可以通过任何方式获得一些条目。

从数据库中提取所有数据应该尽可能地困难。

回答

2

user387184,

在iOS最关键数据我个人推荐使用的API钥匙扣(其可以在Security框架被发现。钥匙扣是一个加密的存储可用于存储账号,密码,敏感数据。

但是,如果你想将整个数据库进行加密,你应该看看苹果的Data Protection API,让你可以使用NSFileProtectionComplete标志轻松加密整个数据库。

至于Android的我不知道,如果有一个pu blicly可用API进行此类操作。您可以查看Android Encryption,但适用于Android 3.0及更高版本的Android设备。

Android的替代方法可能是使用使用简单PIN码加密的存储并提示用户在每次后续应用启动时输入密钥(但从用户体验角度来看,这不是一个好的解决方案) 。

+1

钥匙串服务和Apple内置的数据保护API已被证明很容易被破解。 **请勿将它们用于高度敏感的数据**。手动加密您的数据库。 – 2012-04-28 08:22:49

+1

我可以建议的唯一的事情就是用您自己的注册方法来加密每个数据库条目。 – 2012-04-28 09:55:57

+0

@JackLawrence没有安全/加密不能被破坏。然而就我所关心的数据保护API而言,破解相当棘手,而且只有一家公司(基于俄罗斯的afair)销售这种功能。除非我错了 - 如果是这样,请发布消息来源,我很想了解更多。 – Pawel 2012-04-28 15:58:03