[英]Wipe NSData contents in Swift
我有一個NSData對象,其中將包含敏感數據。 操作完成后,我想擦除內存以避免任何潛在的安全問題。 在Objective-C中,這很容易。 我可以打電話給...
memset([mySensitiveData bytes], 0, [mySensitiveData length]);
但是,在Swift中,它並不那么簡單。 我嘗試了等效的...
memset(mySensitiveData.bytes, 0, mySensitiveData.length)
...但是,我收到一個編譯器錯誤提示...
'UnsafePointer<Void>' is not convertible to 'UnsafeMutablePointer<Void>'
知道如何解決這個問題並在Swift中安全擦除內存嗎? 謝謝!!
NSData
是不可變的,這就是為什么它使用UnsafePointer<Void>
作為字節指針。
您應該為此使用NSMutableData
,然后調用: resetBytesInRange(NSMakeRange(0, mySensitiveData.length))
。 此方法將像memset
一樣將內容替換為零。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.