我必须在钥匙串中保存一个字符串(密码),但原始字符串:
因此,该字符串必须位于应用程序中的某个位置(硬编码?)。
我很确定您无法在安装后为应用程序准备钥匙串的数据,就像您可以将 plist 添加到应用程序包一样,以便在应用程序运行时可以立即加载它(即使它是第一次启动)。
我读过数据保护:它允许处理敏感数据的应用程序利用某些设备上可用的加密。这是要走的路吗?即:我将数据存储到文本文件中,然后保护文件,然后从文件中检索数据,然后将其保存到钥匙串中?
任何提示表示赞赏。
如果无法从外部(用户输入、服务器)提供字符串,则开发人员被迫以某种形式将其放入应用程序包中。它可以硬编码、存储在文件中或由函数生成。这意味着应用程序具有获取/生成此类字符串的所有必要信息。因此,它无法像加密那样保护信息。
iOS 应用程序受 Apple 的 DRM 保护,因此如果有人将您的二进制文件复制到 Mac 并开始反汇编,您会感到安全。然而,不幸的是,如果黑客有一个越狱的设备,那么有一些工具可以将您的应用程序二进制文件从内存转储到磁盘。
所以它归结为混淆。您可以编写一个动态生成字符串的函数(例如,对硬编码的字节数组进行一系列操作,然后将其转换为字符串)。这将使您的字符串更难被黑客拦截。
| 归档时间: |
|
| 查看次数: |
1664 次 |
| 最近记录: |