gpt4 book ai didi

java - 将 null 分配给字符串 var 以删除敏感数据

转载 作者:行者123 更新时间:2023-11-29 10:11:57 26 4
gpt4 key购买 nike

在这里查看一些 Fortify 的发现,它告诉我不要将字符串数据类型用于敏感数据,因为它们会在内存中停留太久。如果发生不相关的内存攻击(例如 Heartbleed),这会暴露用户的数据。

如果我在使用后将字符串 var 设置为 null,该内存位置是否实际被清除,或者是否创建了 var 的副本来存储 null?

谢谢

最佳答案

我认为你问错了问题。

如果您将变量设置为 null,那么可以肯定的是,该引用指向 null。原始值可以被垃圾回收。

问题是字符串比这复杂一点。您应该问的问题是为什么字符串还能留在内存中?

一个答案是字符串文字池。 Google 是您的 friend ,但这是一个不错的开始:

What is the Java string pool and how is “s” different from new String(“s”)?

When will a string be garbage collected in java

Garbage collection of String literals

关于java - 将 null 分配给字符串 var 以删除敏感数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30332756/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com