AOO*_*AOO 6 iphone nsstring nsmutablestring ios
我有一些敏感数据,我想在使用后直接清除.目前,敏感数据采用NSString的形式.NSString在我的理解中是不可变的,这意味着我无法真正清除数据.但是,NSMutableString似乎更合适,因为它是可变的并且具有replaceCharactersInRange和deleteCharactersInRange等方法.我不知道实现细节,所以我想知道NSMutableString是否符合我的目的?
我担心 NSMutableString 会尝试优化并将字符串保留在内存中。如果您想要更多控制,请尝试分配自己的内存,然后用它创建一个 NSString。如果这样做,您可以在释放内存之前覆盖它。
char* block = malloc(200);
NSString* string = [[NSString alloc] initWithBytesNoCopy:length:encoding:freeWhenDone];
//use string
memset(block, 0, 200);// overwrite block with 0
[string release];
free(block);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5177 次 |
| 最近记录: |