密文兼容性
魔曰在更新过程中始终优先保持 向后解密兼容性。
较新的版本通常可以解密旧版本生成的密文,但旧版本不一定能够识别较新版本引入的密文格式或功能。
下表展示不同版本之间的主要密文解密兼容关系。
解密兼容性矩阵
表格左侧所列版本为“解密器版本”,表示该版本对不同功能类别密文的解密兼容能力。
若某一版本未单独列出,且其版本号介于表中相邻两个节点之间,则其密文解密兼容性与前一个已列出的版本保持一致,直到下一个兼容性变化节点为止
| 版本 | 普通简体密文 | 普通繁体密文 | 高级加密 | 灵活分段传输 |
|---|---|---|---|---|
| V3.0.2 | 🟡 | 🔴 | 🔴 | 🔴 |
| V3.1.1 | 🟡 | 🔴 | 🔴 | 🔴 |
| V3.1.7 | 🟢 | 🔴 | 🔴 | 🔴 |
| V3.2.0 | 🟢 | 🔴 | 🔴 | 🔴 |
| V3.2.5 | 🟢 | 🟢 | 🔴 | 🔴 |
| V3.3.0 | 🟢 | 🟢 | 🟠 | 🔴 |
| V3.3.1 | 🟢 | 🟢 | 🟡 | 🔴 |
| V3.3.3 | 🟢 | 🟢 | 🟡 | 🔴 |
| V3.5.0 | 🟢 | 🟢 | 🟢 | 🟢 |
| V3.5.5 | 🟢 | 🟢 | 🟢 | 🟢 |
图例
- 🟢 完整兼容:能够解密该类别截至当前已经出现的全部已知密文格式。
- 🟡 部分兼容:能够解密该类别中的部分密文,但由于后续格式变化,不能保证解密全部后续密文。
- 🟠 仅兼容早期格式:该功能已经受到支持,但仅完整支持其早期格式;后续版本对格式进行了明显修改。
- 🔴 不支持:该版本不支持该类别密文,或该功能在当时尚未引入。
举例而言
V3.2.5 × 繁体密文🟢 表示 V3.2.5 能够解密目前已出现的所有普通繁体密文。V3.3.1 × 高级加密🟡 表示 V3.3.1 能够解密一部分高级加密格式,但不能可靠解密后来版本生成的所有高级加密密文。V3.3.3 × 灵活分段传输🔴 表示 V3.3.3 不具备灵活分段密文的解密支持。
注释
普通简体密文
V3.1.1 修改过个别文言映射,V3.1.7 又修改了压缩字典。因此 V3.0.2–V3.1.5 对之后生成的部分普通密文只能保持部分兼容。自 V3.1.7 起,普通简体非高级密文保持稳定兼容。繁体密文
自 V3.2.5 起正式支持。V3.2.0 及以前版本无法解密繁体映射生成的密文。高级加密
自 V3.3.0 起引入。V3.3.1 修改了高级加密标头的插入方式,因此 V3.3.0 只能完整支持最早期的高级加密格式。
V3.5.0 再次扩大标头的随机插入范围,因此 V3.3.1–V3.3.3 对 V3.5.0 以后生成的高级密文仅有部分兼容性。V3.5.0 起完整支持目前的高级加密格式。灵活分段传输
自 V3.5.0 起引入。由于使用新的分段标头、消息 ID、序列号和重组机制,V3.3.3 及以前版本均不支持。V3.5.5
未引入新的密文格式,与 V3.5.0 保持完整兼容。
