SubtleCrypto 完成salt(16B)、iv(12B);PBKDF2-SHA256(默认 200,000 次)派 生 256-bit 密钥AES-GCM(256) → ciphertext || tag(16B)"SDX1" || ver || hlen || header(JSON:{salt,iv,tag_len,meta}) || ciphertext || tag.sdx{
"alg": "AES-256-GCM",
"kdf": { "name": "PBKDF2-HS256", "iters": 200000 },
"salt": "<base64>",
"iv": "<base64>",
"tag_len": 16,
"meta": { "origName": "...", "mime": "..." }
}Master Password → KDF → KEK → Unwrap → CEK → Encrypt Data+--------+------+-------------+--------+------------+-----+
| Magic | Ver | Header Len | Header | Ciphertext | Tag |
| (4B) | (1B) | (2B LE) | (JSON) | (Variable) |(16B)|
+--------+------+-------------+--------+------------+-----+{
"alg": "AES-256-GCM",
"kdf": {
"name": "PBKDF2-HS256",
"iters": 200000
},
"salt": "base64...",
"iv": "base64...",
"tag_len": 16,
"orig_name": "document.pdf",
"mime": "application/pdf",
"created": "2025-01-20T10:30:00Z"
}