Метод readPassword
Метод readPassword класса Console читает пароль,
введенный пользователем в консоли. Главная особенность метода
в том, что вводимые символы не отображаются на экране - это
делается в целях безопасности, чтобы пароль не был виден
посторонним. Метод возвращает массив символов char[].
Первый параметр задает формат строки, второй - аргументы
для форматирования. Если формат не указан, метод просто
читает ввод без приглашения. После использования массив
символов рекомендуется очистить, заполнив его нулями.
Синтаксис
console.readPassword(format, [args])
Пример
Давайте прочитаем пароль из консоли и выведем его длину:
import java.io.Console;
public class Main
{
public static void main(String[] args)
{
Console console = System.console();
if (console == null)
{
System.out.println("No console available");
return;
}
char[] password = console.readPassword("Enter password: ");
System.out.println("Password length: " + password.length);
}
}
После ввода пароля "abcde" результат выполнения кода:
"Password length: 5"
Пример
Давайте преобразуем массив символов в строку и очистим его:
import java.io.Console;
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
Console console = System.console();
if (console == null)
{
System.out.println("No console available");
return;
}
char[] password = console.readPassword("Enter password: ");
String res = new String(password);
Arrays.fill(password, ' ');
System.out.println("Password entered: " + res);
}
}
После ввода пароля "12345" результат выполнения кода:
"Password entered: 12345"