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 からパスワードを取得する正しい方法ですか? ご覧のとおり、値を取得した後、各 char を 0 に設定していますが、変数 passStr がパスワード全体をどのように保持しているのか、セキュリティを維持するためのログインがここで正しいかどうかはわかりません。

コードを確認して、そのような状況の正しい実装であるかどうかを教えてください。

4

2 に答える 2

2

アイデアは、まったく持っていないということStringです。文字を使用し、使い終わったらゼロにします。char[]FTP ソケットまでずっとパスアラウンドできるはずです。

于 2015-03-25T22:17:59.463 に答える
0

これは以前にここここで議論されたようです

それらが役立つことを願っています。

于 2015-03-25T22:11:35.927 に答える