Могу ли я замаскировать / зашифровать введенный текст (для пароля ex) в файле windows run.bat? - PullRequest
0 голосов
/ 27 марта 2020

Вариант использования: Я хочу замаскировать вводимый текст (в основном, пароль) в файле 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));
}
}

Также, пожалуйста, дайте мне знать, если этот вопрос требует каких-либо дополнительных изменений или неясен, Ваша помощь действительно будет оценена, Заранее спасибо, Оставайтесь в безопасности !!

Ответы [ 2 ]

0 голосов
/ 28 марта 2020

В windows 10, если вы берете вход непосредственно как переменную в пакете, используя Set / P, вы можете изменить цветовой код на черный на черном для ввода с использованием цветового кода ANSI <esc>[30m (с помощью <esc> заменен на escape-символ Ansi)

Используйте <esc>[0m после ввода для сброса цвета.

0 голосов
/ 27 марта 2020

Пароль может быть аргументом для вашего пакетного файла: run.bat.

Модифицированный пакетный файл (из вашего вопроса)

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

И запустить ваш пакетный файл как:

run.bat my_password

Теперь пароль не отображается в командном файле.
Или я все еще неправильно понимаю ваш вопрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...