java - 偷走垃圾收集留下的东西有多容易?

标签 java string security memory garbage-collection

Why getText() in JPasswordField was deprecated?

根据this answer对于上述问题,我的理解是创建一个包含密码的 String 对象是一种安全威胁,因为它可能会在内存中保留一段时间并且它是不可变的。

所以我想知道,

  • 找回一直在闲逛的东西是多么容易 在内存中,没有引用还是留给垃圾回收?

  • 你是怎么做到的?


编辑

由于问题已关闭,请通过添加评论来分享您的知识,如果您认为将来可能会得到有趣的答案,请考虑重新打开该问题。 :)

最佳答案

https://en.wikipedia.org/wiki/Heartbleed

这是一个很好的真实世界示例,说明卡在内存中的东西被用于利用。有不同的方法可以做到这一点,所以最好确保有值(value)的东西不会被搁置。通常这些攻击只是猜测和检查。您只需不断发送信息并将获得的额外内存拼凑在一起即可。

关于java - 偷走垃圾收集留下的东西有多容易?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44805987/

相关文章:

javascript - 如何在 base64 中编码我的实例 ID

java - JPA 2.1 hibernate 一对多约束违反重复条目

java - 如何创建一个实例来调用Android中服务类的 Activity 方法?

Java - 网络应用程序 - 实时

c++ - + 字符串和整数运算符

regex - 在 bash 中匹配具有一定数量的唯一字符的字符串

c++ - 为什么打印字符串数组输出十六进制?

android - 具有隐式授权的 OAuth 应用程序中的客户端模拟

java - 在 JDesktopPane 中添加一个类

c - 在 list 中使用 requireAdministrator 恢复为 Windows 程序中的普通用户?