.rta 备份格式与离线读取

公开 v1 加密封装、账户字段和限制,并提供不依赖已安装应用的独立离线读取工具。

本说明适用于支持 .rta 备份的 1.0.1 及后续版本。当前 Android 下载包已包含备份与恢复功能。

没有安装应用,也能读取备份

下载离线读取工具 打开读取工具

  1. 保存 HTML 文件,断开网络后,用新版浏览器打开。
  2. 选择 .rta 文件,输入导出该文件时使用的本机解锁密码。后来修改密码,不会改变旧备份。
  3. 查看账户和 OTP 参数。密钥默认隐藏,点击“查看密钥”才显示;可按密钥和参数,在支持相应协议的其他认证器中手动重新绑定。
  4. 工具不会生成验证码、推进 HOTP 计数或写入账户库;切到后台或关闭页面会清空显示内容,不提供明文文件导出。

忘记备份密码时,工具或其他应用都无法代为找回。能解密读取不等于所有服务都能登录,核对新设备前请保留原认证器。

v1 加密封装

文件为单行 UTF-8,仅含 ASCII,不带 BOM、换行或前后空格:

rowstop-backup-v1:310000:<salt-hex>:<iv-hex>:<ciphertext-and-tag-hex>
rowstop:backup:v1:pbkdf2-sha256:310000

文件最大 2,097,300 字节;解密后的 UTF-8 内容最大 1,048,576 字节。未知版本、篡改、无效字段或不支持的参数整批拒绝。

账户载荷

{ "version": 1, "accounts": [ ... ] }
字段含义
id非空且唯一,最长 256 字符;应用合并导入后重新生成本机 ID。
typetotp 或 hotp
issuer / label服务 / 账户名称,最长各 256 字符;label 不能为空白,不允许冒号和 C0 / DEL 控制字符。
alias / group可选别名 / 单一分组,最长各 256 字符,不允许 C0 / DEL 控制字符。缺省、null 或空白表示无别名 / 未分组;新版读取时去除首尾空白。旧版应用可能忽略这两个字段。
secret经校验的规范大写 Base32 密钥。
algorithmSHA1、SHA256 或 SHA512
digits6 或 8
period1–86400 的整数秒数
counter0–9007199254740991 的安全整数。HOTP 须保留当前计数;读取不递增。

恢复与迁出规则

文件不包含解锁密码、设备加密密钥、生物凭据、系统权限或置顶偏好。应用先预览再确认合并,重复密令沿用本机名称、别名、分组和 HOTP 计数,新账户保留备份参数。.rta 不是 2FAS 或 Aegis 文件,不能通过修改扩展名让其他应用直接识别。

手动重新绑定时,除密钥外,还需核对类型、算法、位数、周期或计数;能否使用取决于目标应用和服务的支持范围。TOTP 依赖设备时间;HOTP 备份可能落后于服务端计数,需要在原服务核对。

需要帮助时,联系 rowstop@yeah.net,提供版本、设备和复现步骤;不要发送密码、密钥、备份、迁移二维码或验证码。