enc

enc 使用认证加密算法对文件加密和解密,支持隐藏密码输入或精确密钥,也能在不解密内容的情况下查看加密文件头。

安全版本 1.1.4稳定
lil-terminal

概览

当文件既需要保密又需要发现篡改时使用 enc。密码模式交互式派生密钥;-k-K 使用精确密钥,-f-w 明确控制替换行为。

加密效果取决于密钥如何保管

写入解密结果之前,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

用结果替换源文件

交互式 sandbox 预览

可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。

加密文件并检查加密头

安装与管理

安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。

Base 与 Minimum 是同一当前模块版本的两个包。

Base 包

安装包含本地参考和全部已发布模式的完整包。

install enc
Minimum 包

安装精简包。该包不包含本地参考;help <cmd> -i 会打开当前服务器参考。

install enc -m
精确公开版本

安装这个确切的已发布版本。

install enc -v 1.1.4
检查或升级

让 upgrade 检查兼容性,仅在需要时替换已安装块。

upgrade enc
删除模块

删除扩展块,不影响核心和其他模块。

install enc -u

示例

示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。

加密文件并检查加密头
cd \sandbox | enc secret.txt -K keys/data.key | enc -info secret.txt.enc
sandbox

Source      sandbox/secret.txt
Saved       sandbox/secret.txt.enc
Key         sandbox/keys/data.key
Cipher      aes-256-gcm

File           sandbox/secret.txt.enc
Format         LENC2
Cipher         aes-256-gcm
Authenticated  yes
Original size  36 B
Mode           0644
列出此服务器支持的认证加密算法
enc
aes-128-gcm     aes-192-gcm     aes-256-gcm
chacha20-poly1305
通过隐藏密码输入加密为 <src>.enc
enc \sandbox\secret.txt
password  ••••••••
Source    sandbox/secret.txt
Saved     sandbox/secret.txt.enc
Cipher    aes-256-gcm
加密到目标文件或目录
enc \sandbox\secret.txt \sandbox\private\
Source  sandbox/secret.txt
Saved   sandbox/private/secret.txt.enc
Cipher  aes-256-gcm
解密并从默认输出名中移除 .enc
enc \sandbox\secret.txt.enc -d -K \sandbox\keys\data.key
Source  sandbox/secret.txt.enc
Saved   sandbox/secret.txt
Cipher  aes-256-gcm
使用精确的十六进制密钥而非密码
enc \sandbox\data\users.json -k 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
Source  sandbox/data/users.json
Saved   sandbox/data/users.json.enc
Key     exact
Cipher  aes-256-gcm
使用包含精确原始或十六进制密钥的文件
enc \sandbox\data\users.json -K \sandbox\keys\data.key
Source  sandbox/data/users.json
Saved   sandbox/data/users.json.enc
Key     sandbox/keys/data.key
Cipher  aes-256-gcm
选择认证加密算法;默认 aes-256-gcm
enc \sandbox\secret.txt -a aes-128-gcm
Source  sandbox/secret.txt
Saved   sandbox/secret.txt.enc
Cipher  aes-128-gcm
设置 PBKDF2 迭代次数;默认 310000
enc \sandbox\secret.txt -i 400000
password    ••••••••
Source      sandbox/secret.txt
Saved       sandbox/secret.txt.enc
Cipher      aes-256-gcm
Iterations  400000
替换现有目标
enc \sandbox\secret.txt \sandbox\secret.txt.enc -f
Source   sandbox/secret.txt
Saved    sandbox/secret.txt.enc
Replace  explicit
用结果替换源文件
copy \sandbox\secret.txt \sandbox\tmp\secret.txt | enc \sandbox\tmp\secret.txt -K \sandbox\keys\data.key -w
Source   sandbox/tmp/secret.txt
Saved    sandbox/tmp/secret.txt
Key      sandbox/keys/data.key
Replace  source after successful encryption
拒绝不存在的源文件
enc \sandbox\missing.txt
找不到源文件

本示例使用的文件: sandbox/data/sample.txt

该示例使用受保护的 /sandbox/ 文档工作区中的文件或目录。

lil-terminal sandbox text file

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

相关文档

当前公开版本

v1.1.42026-08-08

直接列出加密算法

直接输入 enc 即列出认证加密算法,文件操作后返回扁平目录视图。