繁体   English   中英

从设备获取NSUSerDefaults数据

[英]Get NSUSerDefaults Data from device

我创建了一个应用程序,在其中使用了base64编码,并将用户密码保存到NSUSerDefaults中,但是另一位iPhone开发人员以某种方式破解了该密码。 我不知道他怎么能得到NSUserDefaults数据? 有人知道如何停止这一关键事件,以及他如何获得NSUserDefaults数据。 另外,在iphone中存储用户密码的最佳加密方法是什么?

我建议您检查SFHFKeychainUtils 它包装了Keychain Services API,并提供了一个非常简单的界面来存储诸如密码之类的敏感信息。

存储您的密码:

NSError * error;
[SFHFKeychainUtils storeUsername:userName andPassword:password forServiceName:@"whatever_service" updateExisting:YES error:&error];

找回密码:

NSError * error;
password= [[SFHFKeychainUtils getPasswordForUsername:userName andServiceName:@"whatever_service" error:&error] retain];

如果您需要注销用户,也可以使用deleteItemForUsername消息清除存储的值。

钥匙串是一个加密的容器,其中包含多个应用程序和安全服务的密码。 钥匙串是安全的存储容器,这意味着当钥匙串被锁定时,没有人可以访问其受保护的内容。 -钥匙串服务编程指南,Apple 2010。

我建议您阅读iOS的“ 钥匙串服务任务”

越狱了iPhone的人比您拥有对设备的更多控制权。 没有任何地方可以隐藏机密,而不是在闪存盘上,在内存中。 在构建服务器时,应始终假定攻击者可以连接恶意客户端。 故事结束。

具有物理访问权限的攻击者只能创建iPhone备份,其中包括大多数数据文件的完全未加密的副本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM