1

在我的软件中,我提供了用于 FTP 登录的工具。我使用 JPasswordField 作为登录面板的密码部分。但是,建议将 JPasswordField 数组的每个字符设置为 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 获取密码的正确方法吗?正如你所看到的,我在获得每个字符的值后将其设置为 0,但是变量 passStr 是如何保存整个密码的,所以我有点不确定在这里保持安全的登录是否正确。

那么您能否检查代码并让我知道它是否是针对这种情况的正确实现?

4

2 回答 2

2

这个想法是根本没有String。只需使用这些字符,并在使用完它们后将它们归零。您应该能够一直传递char[]到 FTP 套接字。

于 2015-03-25T22:17:59.463 回答
0

看起来这已经在这里这里之前讨论过

希望那些帮助。

于 2015-03-25T22:11:35.927 回答