MV Tools

AES-GCM 往返核验

如何使用 AES 加密和 Base64 载荷,并明确它们的安全边界

测试基于密码的 AES 载荷的实用指南:理解哪些参数必须与密文一起传递,在兼容时优先使用认证加密,并避免把 Base64 或短暂的服务请求误认为密钥管理。

MV Tools 编辑团队更新于 约 8 分钟阅读

打开工具

先区分加密、编码和访问控制

AES 加密用密钥把明文变成密文。Base64 把字节转换成文本字符,方便通过 JSON、表单或文本字段传递;拿到 Base64 值的人都可以解码。认证和授权决定谁可获取或使用数据。这些是不同的控制,不会自动由彼此提供。

此 AES 页面不是浏览器本地工具。它会将明文和密码提交给服务器端点以完成当前加密或解密请求。服务实现不持久化载荷本身,但服务端处理仍与浏览器内转换器有本质不同的暴露边界。互操作测试请使用无害文本;真实秘密、私钥、凭据和敏感客户数据应使用组织批准的系统处理。

公开自制明文和明确一次性的演示密码被发送到服务端 AES 端点后立即解密。下方 Base64 载荷、JSON 信封和还原文本均为真实结果,但并非密钥管理方案。
公开自制明文和明确一次性的演示密码被发送到服务端 AES 端点后立即解密。下方 Base64 载荷、JSON 信封和还原文本均为真实结果,但并非密钥管理方案。

兼容格式支持时优先选择 AES-GCM

工具提供 AES-GCM 和 AES-CBC。AES-GCM 提供认证加密:成功解密时还会检查认证标签,有助于发现内容被篡改或密码、参数错误。此工具中的 AES-CBC 使用 PKCS5 填充,但没有添加独立认证机制,因此只应为明确要求它的既有兼容格式保留,并在其他地方受到适当保护。

新的互操作测试载荷可从默认 AES-GCM 开始:256 位派生密钥、PBKDF2-HMAC-SHA256 的 210,000 次迭代、每次随机 16 字节盐、12 字节 IV 和 128 位标签。不要只为让输出看起来不同而改参数;兼容性要求两端同意每一项设置,而不只是都写着“AES”。

公开自制明文和明确一次性的演示密码被发送到服务端 AES 端点后立即解密。下方 Base64 载荷、JSON 信封和还原文本均为真实结果,但并非密钥管理方案。
公开自制明文和明确一次性的演示密码被发送到服务端 AES 端点后立即解密。下方 Base64 载荷、JSON 信封和还原文本均为真实结果,但并非密钥管理方案。

将所有参数视为解密契约的一部分

只有密码无法还原载荷。解密端需要算法、密钥长度、PBKDF2 函数和迭代次数、盐、IV、适用时的 GCM 标签长度以及密文。此工具会生成随机盐和 IV,用 PBKDF2-HMAC-SHA256 派生 AES 密钥,并将这些细节放进带版本的 JSON 信封。

最终输出是该 JSON 信封的 Base64 编码。它包含版本、算法、KDF 名称、迭代次数、密钥长度、Base64 盐、Base64 IV、可选标签长度和 Base64 密文。请完整、原样保存输出;编辑、截断、重新编码或只提取密文通常都会让解密失败。

公开自制明文和明确一次性的演示密码被发送到服务端 AES 端点后立即解密。下方 Base64 载荷、JSON 信封和还原文本均为真实结果,但并非密钥管理方案。
公开自制明文和明确一次性的演示密码被发送到服务端 AES 端点后立即解密。下方 Base64 载荷、JSON 信封和还原文本均为真实结果,但并非密钥管理方案。

用受控往返测试检查兼容性

用带明显标记的非敏感样例加密并记录完整输出,立即用同一密码解密确认往返,再让目标实现解密未改动的载荷。失败时按顺序比较:AES 模式、密钥派生函数、迭代次数、密钥长度、盐和 IV 字节、标签长度、UTF-8 文本处理、Base64 字母表与填充、JSON 字段名。

不要把生产密码用作兼容性测试。创建单独测试密码,不要写进工单或聊天记录,测试后丢弃样例。一个工具中能往返只证明该精确契约可用,不能证明更广泛系统已具备安全密钥存储、轮换、访问控制或事件恢复。

一次性 AES-GCM 样例
一次性 AES-GCM 样例

把密钥管理视为真正的安全决策

强算法无法弥补弱、重复使用、共享或已泄露的密码。在加密重要信息前先确定谁创建、保存、轮换、撤销和恢复密钥。若要求服务运营者不能获得明文或密码材料,应优先采用组织批准的密钥管理、秘密存储以及客户端或端到端设计。

复制、下载或分享加密载荷仍有运维风险:接收者需要正确密钥和参数,丢失密钥可能使数据无法恢复。Base64 输出、截图、剪贴板历史、浏览器扩展和服务器请求路径都是处理面的一部分。请将此工具用于受控学习和互操作测试,而不是替代针对应用的密码学设计评审。

一次性 AES-GCM 样例
一次性 AES-GCM 样例

常见问题

AES 操作是在浏览器本地完成吗?

不是。页面会将提供的文本和密码发送到服务器 AES API 处理当前请求,应按服务端处理看待。

Base64 会增加一层加密吗?

不会。它是可逆文本表示,用于传递 JSON 载荷及其中的字节字段。

为什么相同密码无法在另一个 AES 工具中解密?

AES 模式、PBKDF2 函数及迭代、密钥长度、盐、IV、标签长度、编码和载荷格式必须完全一致。