如何在Java控制台中屏蔽密码输入

问题描述

我正在用Java构建登录系统,由于安全性原因,我试图掩盖密码输入,但似乎找不到解决办法。这就是我想要做的:

用户名: 用户1

密码:******

这是我的代码,可以给您一个想法

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
    Scanner Input = new Scanner (System.in);
    System.out.println("Username:");
    String Username = Input.nextLine();
    System.out.println("Password:");
    String Password = Input.nextLine();
    }
}

解决方法

尝试使用java的readPassword()方法 它不会屏蔽*,但会隐藏我们键入到控制台的输入

cnsl = System.console();
char[] pwd = cnsl.readPassword("Password: ");
System.out.println("Password is: "+pwd);

像这样...

,

您可以使用https://docs.oracle.com/javase/7/docs/api/java/io/Console.html中的Console.readPassword()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...