在我的软件中,我提供了用于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/