使用 iOS APP 的包标识符作为密码是否安全?

Is it safe to use iOS APP's bundle identifier as password?

APP中有sqlite数据库,想用SQLCipher加密。众所周知,将密码存储在代码中是不安全的,因此我将使用包标识符作为密码的一部分。

所以,我想知道捆绑标识符是否容易从设备或越狱设备上的应用程序中检索?

谢谢。

安全很难,真的唯一的保护就是不给任何人任何东西。如果您确实需要给他们一些东西,那么最好向他们索要密码。如果你不能问他们,那么你能做的最好的事情就是混淆,即使你加密数据,因为你能做的最好的事情就是隐藏密码,这样就更难找到它,或者找出如何创建它。

所以,很容易找出应用程序的 bundle id,问题是计算出您使用的密码以及它所保护的数据的价值有多难。

如果数据真的很有价值,那就妥善保护它,这可能包括要求用户输入密码并从按需加密的服务器下载数据。

如果您的目标只是防止新手黑客访问,则生成一个 GUID,将其作为字符串文字以外的内容编码到应用程序中,然后使用它。

如果您将密码存储在应用程序内的任何位置,您将无法阻止坚定且经验丰富的黑客...

永远不要使用APP的包标识符作为密码。这很容易破译。例如:如果您有 ideviceinstaller,您可以查询设备以获取已安装应用程序的 bundleId:

ideviceinstaller -U <UUID> -l

还有其他一些方法可以破译包 ID。所以建议不要使用 bundle id 作为密码。希望能帮助到你。