gpt4 book ai didi

swift - NSUserDefaults 有什么不安全的地方,手动加密安全吗?

转载 作者:搜寻专家 更新时间:2023-10-31 22:06:40 24 4
gpt4 key购买 nike

如果我理解正确的话:NSUserDefaults 是一个不安全的地方来存储敏感数据,因为一些设置文件可以被黑客攻击并且 NSUserDefault 值可以被更改。

究竟什么是可以破解的,什么是不能破解的?黑客能否看到我应用的 Swift 代码,或者他们只能看到存储在 NSUserDefaults 中的变量和值列表?

我可以在我的代码中创建我自己的“加密”吗(其中 NSUserDefault 值看起来像一堆无意义的数字,而“ key ”在我的代码中,需要进行一些复杂的数学运算)?这样安全吗?

注意:我不打算加密任何重要的东西,比如用户名或密码,只是加密 Highscores 和 Bool 值,以确定是否解锁级别/升级。如果我的手动解决方案是安全的,我不想学习 KeychainsWrappers。

附带问题(虽然我还没有达到这一步):应用内购买是如何处理的?是否有一个 Bool 值表示某个项目是否已付款,以及 Bool 存储在哪里(由您决定)?

最佳答案

What exactly can be hacked and not hacked?

您能做的大部分事情都可能被黑客入侵。

Can the Hacker see my app's Swift Code, do they only see the list of variables

老练的黑客可以看到可执行二进制文件,但看不到 Swift 源代码。

values stored in NSUserDefaults?

查看 NSUserDefaults 的内容很简单。参见 iExplorer和其他类似的应用程序。

Could I create my own "encryption" in my code

当然可以,但是你应该吗?

"Schneier's Law" : “任何人,从最笨拙的业余爱好者到最优秀的密码学家,都可以创建他自己无法破解的算法。”

Is this safe?

不,这不安全。如果你想使用加密,你需要一个标准的加密算法,比如 AES,但是创建一个安全的方案并不那么容易。您可以使用包装器库,例如 RNCryptor .但这会产生一个新问题:在哪里安全地保存加密 key ,请参阅下一点。

I don't want to have to learn KeychainsWrappers if my manual solution is safe.

仅当您想安全地保存 key 和少量数据时。安全很难。

您需要评估所需的安全级别,包括攻击者的级别和数据的值(value)。攻击者从好奇的学生跑到民族国家。数据值从 Tic-Tac-Toe 高分到核武器详细信息。您需要先确定这些。

关于swift - NSUserDefaults 有什么不安全的地方,手动加密安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36701385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com