如果您有一个包含敏感数据的变量集:
var secretPassword = 'myPa$sW0rd';
然后你覆盖它:
secretPassword = '0000000000';
JavaScript 引擎是否为新数据分配新内存?数据 myPa$sW0rd 是否仍然可能位于未分配的内存中?
我的主要问题是:有没有办法保证覆盖数据? (即将其清零或安全删除数据)。我想知道循环遍历字符串中的字符并以这种方式重置它们是否可以做到这一点。
我认为您不可能在 javascript 引擎中没有错误的情况下访问数据。
JavaScript 引擎是否为新数据分配新内存?
yes
数据 myPa$sW0rd 是否仍然可能位于未分配的内存中?
是的,如果没有垃圾收集清理它
我的主要问题是:有没有办法保证覆盖数据? (即将其清零或安全删除数据)。
不是真的,除非你玩垃圾收集器。看相关帖子 https://stackoverflow.com/questions/13950394/forcing-garbage-collection-in-google-chrome
我想知道循环遍历字符串中的字符并以这种方式重置它们是否可以做到这一点。
No
编辑:正如 doldt 所指出的,即使以前的数据仍在内存中的某个地方,也不存在真正的安全威胁。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)