从Java 1.2开始,由于“出于安全原因”弃用了JPasswordField.getText()
,从而增加了getPassword()
方法的使用,“以提高安全性”。
但是,通过分析堆转储(JPasswordField
),我至少能够获得存储在JPasswordField instance -> model -> s -> array
中的密码。
那么JPasswordField.getPassword()
如何帮助保护密码?
最佳答案
好吧,documentation指出:
为了提高安全性,建议在使用后通过将每个字符设置为零来清除返回的字符数组。
但是,当然,如果您使用getText
方法,则会获得一个不可变的String,因此您无法执行相同的建议。