我正在研究一个Java密码管理器,我目前拥有所有用户的数据,在从文件解密后,始终在内存中存储并作为字符串存储,以便在UI等中显示.
这在任何方面都是安全风险吗?我特别担心有人"倾倒"或以某种方式读取计算机的内存并查找用户的裸数据.
我已经考虑过对所有敏感的数据(密码)进行加密,并且只根据需要对每个部分进行解密并在此后进行销毁......但是我宁愿不经历并在迷信中更改大量代码.
我想在我的iOS应用程序中清除内存中的敏感数据.在Windows中我曾经使用过SecureZeroMemory.现在,在iOS中,我使用普通的旧memset,但我有点担心编译器可能会优化它:https: //buildsecurityin.us-cert.gov/bsi/articles/knowledge/coding/771-BSI.html
代码段:
NSData *someSensitiveData;
memset((void *)someSensitiveData.bytes, 0, someSensitiveData.length);
Run Code Online (Sandbox Code Playgroud)