首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清除python中变量使用的ram空间,防止内存转储攻击。

清除python中变量使用的ram空间,防止内存转储攻击。
EN

Stack Overflow用户
提问于 2016-01-30 02:07:32
回答 1查看 618关注 0票数 1

在python中为这个问题寻找一个经过验证的解决方案。

我有这样的代码:

代码语言:javascript
复制
verySensitveData = "secret, big secret"
#useing verySensitveData in code
#not need it any more
del verySensitveData # now variable is unusable in later code 
collected = gc.collect() #collected and removed

现在,当gc被调用时,它应该从RAM中消失。

这是否迫使操作系统用GC自动删除verySensitveData变量使用的地址上的数据?

它应该会永远消失,没有ram内存转储能够检索变量verySensitveData中的数据?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-30 02:28:07

不是的。gc.collect()只会导致Python检查引用但不可访问的对象(例如,两个对象相互引用,但其他任何对象都不引用)。它不会触发任何类型的内存清理。

如果让您的程序抵抗内存转储很重要,那么Python并不是编写它的合适语言。Python很少保证数据将如何存储在内存中,而且很可能您处理的任何字符串在处理过程中都会被复制到内存中,这可能会在内存中留下字符串的部分或完整副本。Python可能会重用该内存或稍后将其发布到操作系统,但它不会采取任何特殊措施来清除它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35097176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档