Командная строка контекстного меню Windows с непечатными символами
Итак, я возился с шифрованием / дешифрованием в Java, а созданное мною шифрование использует непечатаемые / специальные символы. Затем я сделал запись в реестре, чтобы у меня была возможность зашифровать или расшифровать файлы в контекстном меню Windows, когда вы щелкнете файл правой кнопкой мыши. Он шифрует как содержимое файла, так и имя файла. У Windows нет проблем с отображением этих имен файлов, но когда я пытаюсь расшифровать файл, я получаю ошибки и FileNotFoundException
s, потому что командная строка помещает такие символы, как? 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"));