Я пишу Java-приложение, и часть его включает архивацию/распаковку папок с зашифрованным паролем. Код, который я использую в Java для запуска команд терминала:
p = Runtime.getRuntime().exec(command);
p.waitFor();
Когда я выбираю заархивировать определенную папку, вызов терминала:
command = zip -P password -r encrypted.zip folderIWantToZip
Когда я выбираю разархивировать определенную папку, вызов терминала:
command = unzip -P password encrypted.zip
Я обнаруживаю, когда пользователь вводит неправильный пароль (при попытке распаковать), если значение p.waitFor()
равно 1, а не 0.
Я тестирую свое приложение на Mac, и, похоже, оно работает нормально. Я предполагаю, что эти терминальные вызовы будут работать точно так же и на машинах Linux, и я должен получить тот же результат.
Мне было интересно, какими будут эквивалентные команды терминала/командной строки на компьютере с Windows для архивирования и распаковки папок с шифрованием паролей. Я слышал, что это невозможно в командной строке без загрузки стороннего программного обеспечения, такого как 7zip. В этом случае, каковы будут эквивалентные команды терминала с использованием 7zip/другого эквивалентного стороннего программного обеспечения, чтобы это приложение работало в Windows?