Age 风格加密文件包

使用 Argon2id、XChaCha20-Poly1305 和可选签名来加密或解密可移植的口令文件包

AGEX v1 会把文件封装成带有版本信息的口令加密包,内部保存 Argon2id 参数与 XChaCha20-Poly1305 密文,适合异地传输或归档。可选的 Ed25519 签名用于确认包的来源,而不是控制解密权限。

示例结果

2 个示例

加密为可传输文件包

用口令保护文件并导出带版本号的 AGEX 加密包,便于传输或备份

{
  "result": {
    "bundleFormat": "AGEX",
    "version": 1,
    "signatureIncluded": false
  }
}
查看输入参数
{ "operation": "encrypt", "sourceFile": "/public/samples/mp3/waterfall.mp3", "passphrase": "correct horse battery staple", "strength": "moderate", "includeSignature": false }

解密并校验 AGEX 包签名

从 AGEX 加密包恢复原文件,并在提供公钥时返回签名校验状态

{
  "result": {
    "bundleFormat": "AGEX",
    "version": 1,
    "signatureVerification": "verified"
  }
}
查看输入参数
{ "operation": "decrypt", "bundleFile": "/public/processing/example.agex.json", "passphrase": "correct horse battery staple", "signerPublicKey": "BASE64_PUBLIC_KEY" }

Click to upload file or drag and drop file here

Maximum file size: 50MB Supported formats: */*

Click to upload file or drag and drop file here

Maximum file size: 100MB Supported formats: application/json, */*

关键信息

分类
安全与校验
输入类型
select, file, text, checkbox, textarea
输出类型
json
样本覆盖
4
支持 API
Yes

概览

本工具提供基于 AGEX v1 规范的 Age 风格加密文件包生成与解析服务。通过结合 Argon2id 密钥派生算法与 XChaCha20-Poly1305 对称加密,并支持可选的 Ed25519 签名验证,帮助您安全地对敏感文件进行口令加密、完整性校验及跨平台安全传输。

适用场景

  • 需要通过不安全通道传输敏感文件,且希望使用强口令保护时。
  • 归档重要数据并需要确保其在长期存储中的机密性与防篡改性时。
  • 在加密文件的同时,需要附加数字签名以向接收方证明文件来源与真实性时。

工作原理

  • 密钥派生:使用 Argon2id 算法将用户输入的口令派生为高强度的对称密钥,并根据选择的强度调整计算开销。
  • 数据加密:采用 XChaCha20-Poly1305 算法对源文件进行流式加密,生成具备认证性的密文,防止数据被篡改。
  • 签名与封装:若启用签名,使用 Ed25519 私钥对数据进行签名,并将签名、算法参数、密文等统一封装为 AGEX 格式的 JSON 文件包。
  • 解密与校验:解密时,输入对应的口令重建密钥,解密密文,并可使用签名者的公钥校验文件包的来源真实性。

使用场景

敏感配置文件安全分发:开发人员使用口令加密配置文件,并附带团队公钥签名,确保运维人员部署时文件未被篡改且来源可靠。
个人隐私数据本地归档:将个人证件照片、备份私钥等敏感文件打包加密为 AGEX 格式,安全地存储在云盘中。
跨机构机密文档传输:在没有共享密钥基础设施的情况下,通过预共享口令加密业务合同,并使用机构私钥签名以确立发送方身份。

用户案例

1. 加密敏感音频文件并生成加密包

安全合规审计员
背景原因
需要将一份敏感的会议录音发送给外部审计团队,要求传输过程中绝对保密,且接收方能通过口令直接解密。
解决问题
如何安全地加密大体积音频文件,并生成包含加密元数据的可移植文件包?
如何使用
选择“加密”操作,上传音频源文件,输入高强度口令,选择标准级强度,点击生成加密包。
示例配置
operation: encrypt, strength: moderate, passphrase: [用户输入口令]
效果
输出一个包含加密元数据和 XChaCha20-Poly1305 密文的 AGEX 格式 JSON 文件包,可安全发送给审计团队。

2. 解密并验证带有签名的加密包

系统管理员
背景原因
收到合作伙伴发来的 AGEX 加密包,需要解密出其中的配置文件,并验证该文件确实由合作伙伴的密钥签名。
解决问题
在解密文件的同时,确认文件在传输过程中未被篡改,且确实来自指定的发送方。
如何使用
选择“解密”操作,上传接收到的加密包文件,输入约定的口令,并在“签名公钥”框中粘贴合作伙伴的 Ed25519 公钥进行解密。
示例配置
operation: decrypt, signerPublicKey: BASE64_PUBLIC_KEY
效果
成功解密出原始配置文件,且系统提示签名校验状态为已验证(verified)。

用 Samples 测试

json, file

相关专题

常见问题

什么是 AGEX 格式?

AGEX 是一种自描述的口令加密包格式,它将 Argon2id 参数、XChaCha20-Poly1305 密文以及可选的 Ed25519 签名元数据封装在一起,便于跨平台传输与恢复。

签名功能是用来控制解密权限的吗?

不是。Ed25519 签名仅用于验证加密包的来源(即谁加密了该文件),解密权限完全由您设置的口令决定。

不同的加密强度(如高强度)有什么区别?

强度决定了 Argon2id 派生密钥时的内存和时间开销。强度越高,防暴力破解能力越强,但加密和解密时的计算时间也越长。

如果遗失了解密口令,还能恢复文件吗?

无法恢复。本工具采用强加密算法,不设任何后门,口令丢失将导致数据永久无法解密。

签名私钥是必须提供的吗?

不是。如果开启了签名但未提供私钥,系统会自动为您生成一对临时的 Ed25519 密钥用于签名。

API 文档

请求端点

POST /zh/api/tools/age-like-encrypted-file-bundle

请求参数

参数名 类型 必填 描述
operation select -
sourceFile file (需要先上传) -
bundleFile file (需要先上传) -
passphrase text -
strength select -
includeSignature checkbox -
signerId text -
signerPrivateKey textarea -
signerPublicKey textarea -

文件类型参数需要先通过 POST /upload/age-like-encrypted-file-bundle 上传获取 filePath,然后将 filePath 传递给对应的文件字段。

响应格式

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
JSON数据: JSON数据

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-age-like-encrypted-file-bundle": {
      "name": "age-like-encrypted-file-bundle",
      "description": "使用 Argon2id、XChaCha20-Poly1305 和可选签名来加密或解密可移植的口令文件包",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=age-like-encrypted-file-bundle",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

支持 URL 文件链接或 Base64 编码作为文件参数。

如果遇见问题,请联系我们:[email protected]