Стандартный метод JVM для чтения пароля из командной строки без его отображения - java.io.Console.readPassword()
. Это, однако, ничего не показывает, пока пользователь печатает; пользователи, привыкшие к графическим программам, будут ожидать, что символы, такие как «•» или «*», появятся вместо символов, которые они вводят. Естественно, они также захотят, чтобы возврат, вставка и т. Д. Работали в обычном режиме, просто заменяя все символы на один и тот же символ.
В 2019 году существует ли общепринятая процедура JVM для отображения «*******», когда пользователь вводит «hunter2» в консольном приложении? Может ли это быть сделано без графического интерфейса? Вопрос 2011 года по теме получил ответ со ссылкой на эту статью по теме; можем ли мы добиться большего успеха сегодня, чем показанное в нем довольно сложное решение?
(Я использую Kotlin в качестве своего предпочтительного языка, поэтому решение, специфичное для Kotlin, удовлетворит его, если таковое будет.)