簡體   English   中英

如何保護iOS中objectiveC字符串的dealloc memory?

[英]How to secure dealloc memory for objectiveC Strings in iOS?

我是 iOS 開發的新手,我有以下問題:在我的代碼中,我有一個帶有 UIText 字段的 UIViewController,當用戶在視圖中鍵入時,該字段將保存密碼。 密碼用於在服務器前進行身份驗證:

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

使用它后,我想確保 memory 中沒有密碼殘留,因此攻擊者將無法執行 iPhone 的 memory 轉儲並從中提取密碼。

例如,在 windows 中,我可以使用 SeucreZeroMemory function 用零填充 memory 塊。

iOS 的最佳方法是什么? 誰負責釋放UItextField*字符串,這是否足夠?

您確實不需要您想要的,您無需在分配的數據上寫零以確保它是安全的。 原因是除了您之外沒有人可以訪問 memory 和 iOS 使用地址空間隨機化,因此即使有可能獲得您的 memory,如果您的數據在哪里,也很難猜到,很難猜出數據到底是什么,幸運的是 RAM 沒有文件系統可以在這種情況下提供幫助)。 第二件事是,如果您使用[foo release]並且您的文本字段在此過程中被釋放,操作系統將回收 memory。 現在操作系統在將新的 memory 頁面提供給詢問進程之前總是會用零填充新的頁面,因此您不必擔心有一個惡意應用程序只是分配 memory 以希望通過這種方式找到密碼。

好的,通過進入 dealloc 方法釋放您的 object,它將密碼存儲在您的 class 中。 或者在 object 的使用完成時釋放。通過寫這個 [object release]; 我希望它會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM