iOS - 使用自定义加密密钥保护文件?

Posted

技术标签:

【中文标题】iOS - 使用自定义加密密钥保护文件?【英文标题】:iOS - Protecting files with a custom encryption key? 【发布时间】:2011-01-05 14:43:29 【问题描述】:

昨天我发了一个关于保护文件的问题:Protecting the app sandbox

如前所述,如果用户在 iPad 上有密码,这似乎可以有效保护文件。这自然会引发一个问题,如果用户不这样做,如何处理加密。现在我有了一个想法,但不确定是否可行。

有没有办法覆盖加密密钥以使用自定义密钥?我的直觉是不,但我想可能有办法。 (顺便说一句,这只是一个有趣的实验,我不打算将它提交到应用商店......)我的应用程序有一个登录,如果这可以在应用程序级别处理以适应这将非常方便没有锁的用户。

但是,如果没有设备密码,我想禁用保存功能并不是不合理的......有什么想法吗?

【问题讨论】:

【参考方案1】:

您可以根据登录名/密码生成加密密钥,这允许用户只有在知道密码的情况下才能打开他的文件。但是,如果用户忘记密码,您需要提供以某种方式恢复数据的能力。

【讨论】:

是的,我想在实施自己的加密方案之前探索可用的选项。如果一切都失败了,我最终会做这样的事情...... 您可以使用 OpenSSL,它包含所有需要的功能。 在将 NSData 写入磁盘时,这玩得好吗? openSSL 应该适用于 char*,但是 NSData 可以很容易地转换为这种类型。 这是真实而有趣的方法。你做过吗?在我标记此内容之前,我将进一步挖掘(并等待看看其他人是否有任何要添加的内容)......

以上是关于iOS - 使用自定义加密密钥保护文件?的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript自定义实现字符串加密和解密

JavaScript自定义实现字符串加密和解密

如何提供一种在 Android 库中使用自定义加密的方法?

.NET中的加密算法总结(自定义加密Helper类续)

对于使用 Facebook iOS SDK 的混合 SSO 场景,为我们自己的自定义用户记录生成密码/密钥的最佳方式是啥?

如何在 android KeyStore 中生成 KeyPair,受自定义密码保护