Командная строка контекстного меню Windows с непечатными символами

Итак, я возился с шифрованием / дешифрованием в Java, а созданное мною шифрование использует непечатаемые / специальные символы. Затем я сделал запись в реестре, чтобы у меня была возможность зашифровать или расшифровать файлы в контекстном меню Windows, когда вы щелкнете файл правой кнопкой мыши. Он шифрует как содержимое файла, так и имя файла. У Windows нет проблем с отображением этих имен файлов, но когда я пытаюсь расшифровать файл, я получаю ошибки и FileNotFoundExceptions, потому что командная строка помещает такие символы, как? s, вместо непечатаемых символов. Итак, как мне передать эти имена / символы в файл jar, чтобы он мог расшифровать файл?

Это пакетный файл, который вызывается в контекстном меню Windows кнопкой "Расшифровать" для расшифровки файла:

java -jar "E:\IdeaProjects\Encryption\out\artifacts\Encryption_jar2\DecryptContext.jar" "%1"

Преобразование кода в Base64

private String encodeBase64(String s) {
    return new String(Base64.getEncoder().encode(s.getBytes()));
}

Используется затем, чтобы получить:

String newFileName = encodeBase64(encryptedString);
file.renameTo(new File(newFileName + ".txt"));

0 ответов

Другие вопросы по тегам