enc

Файл с резервной копией или настройками может содержать сведения, которые не должны попадать к посторонним. enc делает зашифрованную копию и одновременно защищает её от незаметного изменения. Без аргументов команда показывает доступные на этом PHP-сервере алгоритмы с проверкой подлинности. Это не архиватор и не команда расчёта хешей.

БезопасностьВерсия 1.1.5Стабильная
lil-terminal

Обзор

Введите enc <src>, чтобы зашифровать файл с паролем через скрытое поле. Обычно результат получит расширение .enc. Для автоматизации можно читать точный ключ из файла через -K <file>. Вариант -k <hex> тоже работает, но показывает ключ прямо в команде и может сохранить его в истории. enc -info <file> выводит сведения о зашифрованном файле, не раскрывая содержимое.

Шифрование зависит от того, как хранится ключ

Перед записью расшифрованного результата enc проверяет заголовок и тег аутентификации. Храните пароль или точный ключ отдельно от зашифрованного файла, для пароля используйте скрытый ввод, а -w применяйте только когда исходник действительно должен быть заменён.

Синтаксис

lil-terminal
enc · enc -info <file> · enc <src> [dst] [options]

Справочник

enc

показать поддерживаемые сервером шифры с аутентификацией

enc -info <file>

показать заголовок зашифрованного файла без расшифровки

enc <src>

зашифровать в <src>.enc с вводом пароля в скрытом поле

enc <src> <dst>

зашифровать в указанный файл или каталог

enc <src> -d

расшифровать и убрать .enc из имени результата по умолчанию

-k <hex>

использовать точный шестнадцатеричный ключ вместо пароля

-K <file>

использовать файл с точным бинарным или шестнадцатеричным ключом

-a <cipher>

выбрать шифр с аутентификацией; по умолчанию aes-256-gcm

-i <n>

задать число итераций PBKDF2; по умолчанию 310000

-f

заменить существующий файл назначения

-w

заменить исходный файл результатом

Примечания

В Minimum доступно простое шифрование файла с паролем, но флаги -info, -K, -f, -w и другие расширенные режимы требуют Base.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Зашифровать файл и проверить его заголовок

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install enc
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install enc -m
Точная публичная версия

Установить именно эту опубликованную версию.

install enc -v 1.1.5
Проверить или обновить

Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.

upgrade enc
Удалить модуль

Удалить блок расширения, не затрагивая ядро и остальные модули.

install enc -u

Примеры

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

Зашифровать файл и проверить его заголовок
enc
Доступные алгоритмы зависят от PHP-сервера. Фрагмент списка:
aes-128-gcm  aes-192-gcm  aes-256-gcm  chacha20-poly1305
Показать заголовок зашифрованного файла без расшифровки
enc -info \sandbox/secret.txt.enc
File           sandbox/secret.txt.enc
Format         LENC2
Cipher         aes-256-gcm
Authenticated  yes
Original size  36 B
Mode           0644
Зашифровать в <src>.enc с вводом пароля в скрытом поле
enc \sandbox/secret.txt
Откроется скрытый ввод пароля или ключа. Секрет не выводится.
Зашифровать в указанный файл или каталог
enc \sandbox/secret.txt \sandbox/tmp/
Откроется скрытый ввод пароля или ключа. Секрет не выводится.
Использовать файл с точным бинарным или шестнадцатеричным ключом
enc \sandbox/data/users.json -K \sandbox/keys/data.key
Фрагмент списка файлов:
sandbox/data/users.json.enc
Расшифровать и убрать .enc из имени результата по умолчанию
enc \sandbox/secret.txt.enc \sandbox/tmp/recovered.txt -d -K \sandbox/keys/data.key
Фрагмент списка файлов:
sandbox/tmp/recovered.txt
Использовать точный шестнадцатеричный ключ вместо пароля
enc \sandbox/data/users.json -k 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
Фрагмент списка файлов:
sandbox/data/users.json.enc
Выбрать шифр с аутентификацией; по умолчанию aes-256-gcm
enc \sandbox/data/users.json -k 00112233445566778899aabbccddeeff -a aes-128-gcm
Фрагмент списка файлов:
sandbox/data/users.json.enc
Задать число итераций PBKDF2; по умолчанию 310000
enc \sandbox/secret.txt -i 400000
Откроется скрытый ввод пароля или ключа. Секрет не выводится.
Зашифровать в указанный файл или каталог
enc \sandbox/secret.txt \sandbox/tmp/protected.enc -K \sandbox/keys/data.key
Destination already exists; use -f
Заменить существующий файл назначения
enc \sandbox/secret.txt \sandbox/tmp/protected.enc -K \sandbox/keys/data.key -f
Фрагмент списка файлов:
sandbox/tmp/protected.enc
Отклонить отсутствующий исходный файл
enc \sandbox/tmp/work.txt -K \sandbox/keys/data.key -w
Фрагмент списка файлов:
sandbox/tmp/work.txt
Заменить исходный файл результатом
enc \sandbox/tmp/work.txt.enc -K \sandbox/keys/data.key -w -d
Фрагмент списка файлов:
sandbox/tmp/work.txt.enc
Зашифровать в <src>.enc с вводом пароля в скрытом поле
enc \sandbox/missing.txt -K \sandbox/keys/data.key
Source file not found
Использовать точный шестнадцатеричный ключ вместо пароля
enc \sandbox/secret.txt -k not-a-key
Hexadecimal key must contain exactly 64 characters
Задать число итераций PBKDF2; по умолчанию 310000
enc \sandbox/secret.txt -i 99
Iteration count must be between 10000 and 5000000
Использовать файл с точным бинарным или шестнадцатеричным ключом
enc \sandbox/secret.txt -K \sandbox/keys/no.key
Key file is not readable
Выбрать шифр с аутентификацией; по умолчанию aes-256-gcm
enc \sandbox/secret.txt -a aes-256-cbc
Cipher is unavailable or not authenticated
Заменить исходный файл результатом
enc \sandbox/secret.txt \sandbox/tmp/other.enc -K \sandbox/keys/data.key -w
Choose either a destination or -w
Расшифровать и убрать .enc из имени результата по умолчанию
enc \sandbox/secret.txt -d -K \sandbox/keys/data.key
Encrypted file format not recognized

Файл из примера: sandbox/data/sample.txt

Пример использует файл или каталог из защищённой учебной папки /sandbox/.

lil-terminal sandbox text file

This file is safe to read, copy, rename, replace, hash and archive.

Связанная документация

Текущая публичная версия

v1.1.52026-11-01

Производственная доработка

Актуальная стабильная версия enc. Файл с резервной копией или настройками может содержать сведения, которые не должны попадать к посторонним.