美文网首页
内存数据保护

内存数据保护

作者: 司空123 | 来源:发表于2019-08-15 17:34 被阅读0次

在金融行业的APP中,对于敏感数据,我们不希望长时间存放在内存中,而是希望使用完后立即就被释放掉。在一些场景中,比如当View ControllerA push到 另外一个View Controller B时,由于A 页面依旧存活,导致数据不会被清理,这就增加了数据被非法获取的风险。

1.假如一个View Controller A的一个数据被绑在一个property上,

@interface ViewControllerA : UIViewController

@property (nonatomic, copy) NSString *text;

@end

当A push 到B时,在B中

    ViewControllerA *vcA = (ViewControllerA *)self.navigationController.viewControllers[0];
    NSLog(@"vcA .text ==  %@", vcA.text);

是可以访问到text中数据的.

  1. 在A中添加如下处理,即可清理掉属性绑定的数据:
 self.text = [[NSString alloc]initWithFormat:@"aaaaaaaaa"];
 char *string = (char *)CFStringGetCStringPtr((CFStringRef)_text, CFStringGetSystemEncoding());
 memset(string, 0, [_text length]);

 BViewController *B = [BViewController new];
 [self.navigationController pushViewController:B animated:YES];
  1. 如果字符串采用这种方式,是会被分配到data区,是无法修改的。
self.text  = @"aaaaaaaaa";

参考:
https://blog.csdn.net/yiyaaixuexi/article/details/18669201

相关文章

  • 内存数据保护

    在金融行业的APP中,对于敏感数据,我们不希望长时间存放在内存中,而是希望使用完后立即就被释放掉。在一些场景中,比...

  • OS 超脑02

    练习2 切换至32x保护模式 A 设计内存分配 B 实现 PS:总是忘了把硬盘上的数据移到内存段。一定是MBR写多了

  • Debug 技巧

    内存保护技巧

  • 从实模式进入保护模式

    在实模式下,程序可以随意修改1M内存的任何位置的数据,没有任何监管,如同原始社会。进入保护模式后,使用内存需要登记...

  • Java并发

    线程安全:在堆内存中的数据由于可以被任何线程访问到,在没有限制的情况下存在被意外修改的风险。即堆内存空间在没有保护...

  • OC基础(六)——内存管理

    内存管理概述 内存管理内存的作用:存储数据. 如何将数据存储到内存之中.声明1个变量.然后将数据存储进去. 当数据...

  • Anti-Cheat Toolkit(一)(Unity游戏开发-

    开发游戏时,我们需要保护储存在客户端中的重要数据,防止被玩家修改数据从而达到"开挂"的效果。 内存修改器的下载地址...

  • (十七)大数据学习之内存数据库

    内存数据库 一.内存数据库 1.为什么要把数据存入内存? 快 2.常见的内存数据库:(1)MemCached:看成...

  • 服务器数据安全保护方案:服务器数据执行保护(DEP)如何开启?

    数据执行保护(DEP)有助于防止电脑遭受病毒和其他安全威胁的侵害 应用会留出一部分电脑内存用于暂存数据,同时留出另...

  • 干货:实时数据库,内存数据库,关系型数据库比较

    内存数据库 内存数据库就是将数据放在内存中直接操作的数据库,它利用内存的读写速度比磁盘快、内存是随机访问而磁盘是顺...

网友评论

      本文标题:内存数据保护

      本文链接:https://www.haomeiwen.com/subject/giazjctx.html