APP中有一个sqlite数据库,我想用SQLCipher加密它。我们知道,在代码中存储密码是不安全的,因此我将使用捆绑标识符作为密码的一部分。
那么,我想知道是否可以从设备或越狱设备上的APP轻松检索捆绑包标识符?
感谢。
答案 0 :(得分:1)
永远不要使用APP的捆绑标识符作为密码。它很容易破译。例如:如果你有ideviceinstaller,你可以在设备上查询所安装的应用程序的bundleId:
ideviceinstaller -U <UUID> -l
还有一些其他方法可以破译bundle id。因此,建议不要使用bundle id作为密码。希望能帮助到你。
答案 1 :(得分:0)
安全很难,真正唯一的保护就是不给任何人任何东西。如果您确实需要给他们一些东西,那么最好向他们索要密码。如果您不能问他们,那么您可以做的最好的事情就是混淆,即使您加密了数据,因为您可以做的最好的事情就是隐藏密码,这样就更难找到,或者找不到如何创建密码。
因此,很容易找到应用程序的软件包ID,问题是如何确定您使用的密码以及它所保护的数据的价值有多大。
如果数据确实有价值,请正确保护,这可能涉及要求用户输入密码并从服务器下载数据,并按需加密数据。
如果您的目标只是阻止对新手黑客的访问,那么生成GUID,将其编码为应用程序,而不是字符串文字,并使用它。
如果您将密码存储在应用程序内的任何位置,则无法阻止坚定且经验丰富的黑客...