首页 > 解决方案 > 我可以在 windows run.bat 文件中屏蔽/加密输入文本(例如密码)吗?

问题描述

用例: 我想在 run.bat 文件中屏蔽输入文本(主要是密码),我使用 java 作为编程语言,总的来说,我的主要目标是每当用户在 run.batch 中提供密码输入时,它应该被加密,是否可能这样做?这是我的 run.batch 文件:

@echo OFF
setlocal DISABLEDELAYEDEXPANSION
java -jar "stack.jar" -username "stackoverflow" -password "qwerty@567" -configpath "config.ini"
pause

在这里我想屏蔽 qwerty@567 这是用户端给出的密码 这是我尝试过的东西,但它仅适用于控制台

import java.io.Console;
public class Main {
public static void main(String[] args) {
Console console = System.console();
char[] passwordArray = console.readPassword("Enter your password: ");
console.printf("Password is: %s%n", new String(passwordArray));
}
}

标签: javabatch-file

解决方案


在 Windows 10 中,如果您将输入直接作为批量变量,使用 Set /P,您可以使用 ANSI 颜色代码将输入的颜色代码更改为黑底黑字<esc>[30m<esc>替换为 Ansi 转义字符)

输入后使用<esc>[0m重置颜色。


推荐阅读