1

У меня есть папка с несколькими файлами:

file1
file2
file3

Я хочу зашифровать их все с помощью AES, включая имена файлов, поэтому вывод должен выглядеть примерно так:

kjk437fjk437
3k4jn34jk
j34nkj34

Но я не хочу применять какое-либо сжатие вообще.

Возможно ли это сделать с помощью 7zip? Я использую Debian и ищу только терминальные решения.

Изменить: я также хочу иметь возможность вернуть имя файла после расшифровки.

2 ответа2

1

Вы, вероятно, просто хотите скрыть имя файла вместо того, чтобы зашифровать его, поэтому должно быть сделано что-то вроде следующего:

for file in ./*;do 
  7z a $RANDOM-$RANDOM.7z -m1=copy -mhe -psecret "$file"; 
  rm "$file" 
done

-m1=copy означает использовать метод копирования, поэтому нет сжатия.
-mhe означает зашифрованный заголовок, поэтому без пароля невозможно просмотреть имена файлов внутри файла 7z.
-psecret устанавливает пароль для secret

0

7zip является обязательным? Выберите правильный инструмент. EncFS вроде бы это.

  1. Установите это. В Debian: apt-get install encfs .
  2. Создайте две директории: mkdir encrypted mountpoint .

  3. Запустите инструмент:

    encfs "$PWD/encrypted" "$PWD/mountpoint"
    

    Обратите внимание, что вам нужно $PWD/ вместо ./ потому что encfs не принимает относительные пути (если не используется -f ).

  4. Действуйте в соответствии с инструкциями для выбора шифрования, пароля.

  5. Скопируйте или переместите все каталоги и файлы, которые вы хотите зашифровать, в ./mountpoint . Зашифрованные каталоги и файлы появятся в каталоге ./encrypted .

  6. Размонтируйте:

    fusermount -u ./mountpoint
    

Теперь вы можете скопировать / переместить / переименовать / tar / любой каталог ./encrypted в целом. Обратите внимание, что внутри находится скрытый .xml файл. Файл содержит ключ (защищенный паролем), который имеет решающее значение, поэтому не теряйте его. Можно сохранить файл отдельно (читайте о переменной ENCFS6_CONFIG в man 1 encfs).

Чтобы получить доступ к исходным файлам, повторите шаг 3, введите правильный пароль. Работа с файлами в выбранной точке монтирования: чтение, добавление, удаление, изменение, все что угодно. Наконец, размонтируйте с помощью fusermount -u как в шаге 6.

Заметки:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .