为JPasswordField补充合适的安全层

时间:2015-03-25 22:04:10

标签: java security passwords jpasswordfield

在我的软件中,我提供了FTP登录工具。我使用JPasswordField作为登录面板的密码部分。但是,建议将JPasswordField数组的每个char设置为0以保证其安全。但是我不确定它是否适用于我的情况。这是我获取密码的方法:

public String getPassword(){
        char[] password = passwordField.getPassword();
        String passStr = "";
        for(int i=0; i< password.length; i++){
            passStr += password[i];
            password[i] = 0;
        }
        return passStr;
}

这是从JPasswordField获取密码的正确方法吗?你可以看到我在得到它的值之后将每个char设置为0,但是变量passStr如何保存整个密码,所以我不确定这里保持安全的登录是否正确。

那么请你检查代码并告诉我这种情况是否正确实施?

2 个答案:

答案 0 :(得分:2)

我们的想法是不要拥有String。只需使用图表,并在完成后将其归零。您应该能够将char[]一直传递到FTP套接字。

答案 1 :(得分:0)

之前在herehere

上讨论过这个问题

希望那些帮助。