相关疑难解决方法(0)

什么样的优化在C++中"易失"?

我正在查找关键字volatile以及它的用途,我得到的答案非常多:

它用于防止编译器优化代码.

有一些示例,例如轮询内存映射硬件时:没有volatile轮询循环将被删除,因为编译器可能会识别出条件值永远不会更改.但由于只有一个例子或两个例子,它让我思考:volatile在避免不必要的优化方面我们还需要使用其他情况吗?条件变量是唯一volatile需要的地方吗?

我认为优化是特定于编译器的,因此未在C++规范中指定.这是否意味着我们必须通过直觉,说嗯,我怀疑如果我没有声明该变量volatile或者是否有任何明确的规则,我的编译器将废除它?

c++ optimization volatile

25
推荐指数
3
解决办法
8600
查看次数

内存中的敏感数据

我正在研究一个Java密码管理器,我目前拥有所有用户的数据,在从文件解密后,始终在内存中存储并作为字符串存储,以便在UI等中显示.

这在任何方面都是安全风险吗?我特别担心有人"倾倒"或以某种方式读取计算机的内存并查找用户的裸数据.

我已经考虑过对所有敏感的数据(密码)进行加密,并且只根据需要对每个部分进行解密并在此后进行销毁......但是我宁愿不经历并在迷信中更改大量代码.

memory security

19
推荐指数
4
解决办法
6336
查看次数

检查别针而不离开iOS钥匙扣

我有一个存储在iOS Keychain中的用户pin.对于每个引脚尝试,我SecItemCopyMatching用来检索参考引脚,然后进行比较.

问题是,在很短的时间内,检索到的参考引脚进入应用程序的工作内存.如果手机受损,可能会读取参考引脚.

有没有办法将引脚尝试传递给Keychain并让Keychain在其安全环境中与引用引脚进行比较?(安全元素可以做那种东西吗?)

security keychain ios

8
推荐指数
2
解决办法
357
查看次数

标签 统计

security ×2

c++ ×1

ios ×1

keychain ×1

memory ×1

optimization ×1

volatile ×1