我有以下代码
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/