Javaでログインパスワードをアスタリスクに変更の方法
コンソールクラスの readPassword() メソッドを使用して、ログインパスワードをアスタリスクに変更できます。このメソッドは、ユーザの入力したパスワードを隠蔽し、文字配列で返します。
ネイティブの日本語で文章を言い換えるには、以下にサンプルコードを示します。
import java.io.Console;
public class PasswordExample {
public static void main(String[] args) {
Console console = System.console();
if (console == null) {
System.out.println("Console is not available");
System.exit(1);
}
char[] passwordArray = console.readPassword("Enter your password: ");
String password = new String(passwordArray);
System.out.println("Your password is: " + password);
// 清除密码
Arrays.fill(passwordArray, ' ');
}
}
サンプルコードでは、まずコンソールオブジェクトが null かどうか確認し、対話形式ではない環境でも動作するよう配慮しています。次に console.readPassword() メソッドを使ってユーザーが入力したパスワードを非表示にし、文字配列 passwordArray に格納します。その後、文字配列を文字列に変換してパスワードを出力します。最後に Arrays.fill() メソッドを使ってパスワード配列をクリアし、パスワードがメモリに残り続けるのを防ぎます。
パスワードを取得するにあたっては,Consoleクラスを使用する方が,Scannerクラスを使用するよりも安全です.というのは,Consoleクラスでは,パスワードがコンソール画面に表示されることがないからです.