在我的软件中,我提供了用于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如何保存整个密码,因此,我不确定此处保持安全性的登录名是否正确。

那么,您能否检查一下代码,并让我知道它是否适合这种情况?

最佳答案

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

关于java - 为JPasswordField补充合适的安全层,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29267421/

10-09 05:02