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 的当前稳定版本。备份或配置文件可能包含私密数据。