代码之家  ›  专栏  ›  技术社区  ›  Rahul Vyas

从设备获取NSUSerDefaults数据

  •  2
  • Rahul Vyas  · 技术社区  · 15 年前

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

    4 回复  |  直到 15 年前
        1
  •  2
  •   RedBlueThing    15 年前

    我建议你退房 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 如果需要注销用户,请发送消息。

        2
  •  2
  •   johnnieb    15 年前

    A 是一个加密的容器 保存多个密码的 应用程序和安全服务。 安全存储 容器,也就是说当 钥匙链锁上了,没人能进入

    我建议你读一下 Keychain Services Tasks for iOS .

        3
  •  0
  •   rook    15 年前

    一个有着越狱经历的iPhone的人比你对iPhone有更多的控制权。没有地方可以隐藏秘密,不在闪存上,不在内存中。在构建服务器时,应始终假定攻击者可以连接恶意客户端。故事结束。

        4
  •  0
  •   tc.    15 年前

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