java - 可以取密码吗?

标签 java

我有以下代码

public static void main(String[] args) {

    String plainTextpassword = "plaintextpassword";
    String encryptedPassword = getMd5Password(plainTextpassword);
}

是否有可能有人可以在垃圾收集之前使用内存转储或任何方式获取我的密码。如果是这样,我该如何克服它。

最佳答案

Is there any possibility that someone can take my password before garbage collected , using memory dump or any way

是的,即使在垃圾回收之后也是可能的,因为内存中的内容不会立即被覆盖。这是个坏消息。

好消息是,操作系统应该分隔进程之间的地址空间。我写了应该,因为偶尔会发现一些可以被利用来克服这种分离的错误;然而,如果发现这样的错误,密码保护是你最不关心的问题。所以我不担心这个。

因此,最严重的事情是,您自己的程序进程中出现了问题。这可能是由于您的代码中存在错误,或者因为您使用的某些库存在一些错误。但是,如果您的程序没有错误(虽然不太可能),并且您的操作系统没有错误(也不太可能但比您自己的程序没有错误的可能性更大)那么您的密码应该是安全的。

关于java - 可以取密码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14173077/

相关文章:

java - 是否可以在不降低安全级别的情况下使用 Java 版本 7 更新 51 打开自签名 Java 小程序

java - Activity 上的透明 DialogFragment

java - 刷新我的光标适配器中的 ListView?

java - 使用谷歌地图计算实时行进距离

java - 共享首选项类

java - 用于获取 Windows 上当前正在运行的应用程序列表的命令

java - 我如何画元胞自动机

java - 如何在HBase中设置In-Memory

java - 具有任意返回类型和 Jackson 序列化程序的 Java 中的通用方法

java - Thymeleaf 数组元素连接