Aegis 中文文档 下载 App

保险库文件格式速览:里面究竟存了什么

一个 JSON 文件

保险库(见保险库)是一个 UTF-8 编码的 JSON 文本文件,顶层结构分三段:

version  —— 外层格式版本号(当前为 1)
header   —— 加密参数与凭证槽位(未加密时为空)
db       —— 保险库内容(加密时是一段 Base64 密文,未加密时是明文 JSON)

加密状态下,header 里记录了槽位(slots)列表与加密参数(nonce、tag);db 里是密文。解密后得到的内部内容版本号为 3,包含 entries(条目列表)与 groups(分组列表)。

条目字段一览

每个条目的主要字段(转述自官方设计文档):

字段含义
type验证码类型:totp / hotp / steam / motp / yandex
uuid条目唯一标识
name / issuer账号名 / 服务名
note备注
icon / icon_mime / icon_hash图标(Base64 存储)及其元信息
favorite收藏标记
info类型相关参数:密钥、算法、位数、周期或计数器
groups所属分组的 UUID 列表

这些字段与界面上看到的高级编辑选项一一对应。

官方提供了读文件的工具

官方文档仓库里附带一个 Python 示例脚本(docs/decrypt.py),演示在知道密码的前提下如何解密保险库文件。这个脚本的公开本身就是一种透明声明:文件格式无黑盒,数据属于你,任何人不依赖应用本体也能(在掌握密码时)取出自己的密钥。

对普通用户的意义

大多数用户永远不需要打开保险库文件,但了解两点有实际价值:

  1. 备份文件的通用性:JSON + 标准算法意味着备份不依赖应用存活——哪怕十年后应用消失,公开的格式文档也在,数据可自行解出;
  2. 明文状态的风险直观化:未加密保险库的 db 段是可直接阅读的 JSON,密钥一目了然——这就是设置保险库密码反复强调必须加密的原因。