tencent cloud

文档反馈

AES、DES 加密解密说明

最后更新时间:2022-06-22 15:59:43

    操作场景

    使用 DES、AES 加密算法可以对请求参数进行加密,并对其响应数据解密,防止明文请求在传输过程中被恶意篡改。本文将指导您如何使用 DES、AES 加密算法。

    说明:

    使用 HTTPS 请求方式查询,传输的数据会因为 TLS 通道而被加密保护,因此不需要主动对传入的数据额外加密。

    前提条件

    操作流程

    步骤1:确定加密方式。目前移动解析 HTTPDNS,HTTP 请求查询方式支持 DES、AES、两种加密方式。

    说明:

    • 若您使用 HTTPS 请求查询方式,详情可参见 HTTPS 请求方式查询
    • 使用对应的密钥和算法将要解析的域名进行加密(如需使用 ip 参数,也需要将该参数值进行加密),并将加密后的结果与 ID (不需要加密)作为请求参数。

    步骤2:发送加密的请求。

    步骤3:接受加密的应答。

    步骤4:将结果解密,即可获得所查询的域名对应的解析结果。

    加密与解密算法使用说明

    DES 算法

    说明:

    使用 DES 进行加密与解密,密码长度为8个字符,分组加密模式为 ECB,Padding 算法是 PKCS5Padding 。

    加密后数据使用 Hex(Base16)编码,将二进制数据转换为可见十六进制字符标识,编码后的数据长度将会加倍。具体流程如下图所示:

    Untitled

    解密响应数据,先使用Hex(Base16)解码为二进制数据,再使用 DES 算法解密为明文数据。具体流程如下图所示:

    Untitled

    例如:您的域名为 www.dnspod.cn、加密密钥为:dnspodpass。流程如下:

    1. 在 HTTPDNS 控制台 添加域名。
    2. 使用 DES-ECB-PKCS5 加密算法与 DES 加密密钥 dnspodpass 加密域名将得到加密字符串 87ae992c1321f299da3c0210a9900ae7
    3. 使用接口 curl "http://43.132.55.55/d?dn=87ae992c1321f299da3c0210a9900ae7&id={授权ID}" 请求 A 记录将得到数据长度加倍的加密字符串,如:55915a682ea20840ff74aa6e7bebf11454ed0f4050a63e93e6e89521553a01a8
    4. 得到加倍的加密字符串后,使用 DES-ECB-PKCS5 加密算法与 DES 加密密钥 dnspodpass 进行解密后将得到明文的信息 121.12.53.35;106.227.19.35
    说明:

    以上字符串仅做示例使用,用于正常请求将无法使用。

    AES 算法

    说明:

    使用 AES 进行加密与解密,密钥长度为16个字符,分组加密模式为 CBC,Padding 算法是 PKCS7

    CBC 模式要求使用随机化IV作为初始加密与解密输入,因此该IV也会被带入到请求和响应中。加密后的数据,连同IV一起使用Hex编码,转换为可见十六进制标识。具体流程如下图所示:

    Untitled

    解密时,使用Hex解码为二进制数据,前16字节为IV值,IV后面为待使用 AES 算法解密的数据。使用 AES 算法解密后即为明文数据。具体流程如下图所示:

    Untitled

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持