数据擦除
对于敏感数据,我们不希望长时间放在内存中,而希望使用完后立即就被释放掉。
但是不管是ARC还是MRC,自动释放池也有轮循工作周期,我们都无法控制内存数据被擦除的准确时间,让hackers们有机可乘。
本文介绍一个小技巧——及时数据擦除。
假如一个View Controller A的一个数据被绑在一个property上,
@interface WipingMemoryViewController : UIViewController
@property (nonatomic,copy) NSString *text;
@end
当A push到 另外一个View Controller B时,该数据还是有可能被读到的
WipingMemoryViewController *lastController = (WipingMemoryViewController *)self.navigationController.viewControllers[0];
NSLog(@"text = %@",lastController.text);
于是,“用后即擦”变得十分必要:
_text = [[NSString alloc]initWithFormat:@"information"];
NSLog(@"Origal string = %@",_text);
/

在iOS开发中,为了确保敏感数据的安全,文章介绍了如何实现数据的即时擦除,以避免在内存中长期留存。由于ARC和MRC的自动释放池机制无法精确控制数据销毁时间,作者提出了一种数据擦除的方法,通过“用后即擦”的策略来增强应用的安全性。
最低0.47元/天 解锁文章
:数据擦除&spm=1001.2101.3001.5002&articleId=18669201&d=1&t=3&u=6e49f06937e647ab9bedd49887e14abc)
1155





