java - 我可以在 Windows run.bat 文件中屏蔽/加密输入文本(用于前密码)吗?

标签 java batch-file

用例: 我想在 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));
}
}

最佳答案

密码可以是批处理文件的参数:run.bat

修改批处理文件(来自您的问题)

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

并启动批处理文件:

run.bat my_password

现在密码不会出现在批处理文件中。

关于java - 我可以在 Windows run.bat 文件中屏蔽/加密输入文本(用于前密码)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60880630/

相关文章:

java - 本地主机上的服务器 Tomcat v8.5 服务器无法在 Eclipse 中启动

java - 在 Mac 上设置 Java EE 环境

java - JAVA忽略越界异常的简单方法

java - 为什么在 Java 正则表达式中使用单反斜杠和三反斜杠转义双引号会产生相同的结果

windows - 有没有办法在 Windows 中的脚本运行期间将 stderr 重定向到 stdout?

c++ - 使用批处理文件和 C++ 的环境变量

java - 在java eclipse中读取文本文件作为二维数组错误

batch-file - @ 在 Windows 批处理脚本中是什么意思?

batch-file - 在文件开头跳过Microsoft的消息

database - 当我运行批处理文件以在 Windows 中自动备份 postgresql 数据库时,如何自动设置 PGPASSWORD