gpt4 book ai didi

iphone - 如何在 iOS 中保护 ObjectiveC 字符串的释放内存?

转载 作者:行者123 更新时间:2023-12-03 19:26:00 27 4
gpt4 key购买 nike

我是 iOS 开发新手,我有以下问题:在我的代码中,我有一个带有 UIText 字段的 UIViewController,当用户在 View 中键入时,该字段将保存密码。该密码用于在服务器前面进行身份验证:

UItextField* txtPassword;
[myClass loginWithPassword:txtPassword.text];

使用后,我想确保内存中没有密码残留,这样攻击者就无法执行 iPhone 的内存转储并从中提取密码。

例如,在 Windows 中,我可以使用 SeucreZeroMemory 函数用零填充内存块。

对于 iOS 来说,最好的方法是什么?谁负责释放 UItextField* 字符串,这是否足够?

最佳答案

您想要的实际上是不需要的,您不需要在分配的数据上写零以确保其安全。原因是除了你之外没有人可以访问内存,而且 iOS 使用地址空间随机化,因此即使有可能获取你的内存,也很难猜测你的数据在哪里(如果不知道数据在哪里) ,很难猜测数据到底是什么,幸运的是 RAM 没有文件系统可以在这种情况下提供帮助)。第二件事是,如果您使用 [foo release] 并且文本字段在此过程中被释放,操作系统将回收内存。现在,操作系统在将新的内存页面提供给请求进程之前,总是会用零填充新的内存页面,因此您不必担心有恶意应用程序只是分配内存,希望通过这种方式找到密码。

关于iphone - 如何在 iOS 中保护 ObjectiveC 字符串的释放内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6198242/

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