加密

最近更新时间:2019-07-24 15:23:21

1. 接口描述

接口请求域名: kms.tencentcloudapi.com 。

本接口用于加密最多为4KB任意数据,可用于加密数据库密码,RSA Key,或其它较小的敏感信息。对于应用的数据加密,使用GenerateDataKey生成的DataKey进行本地数据的加解密操作

默认接口请求频率限制:300次/秒。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:Encrypt
Version String 公共参数,本接口取值:2019-01-18
Region String 公共参数,详见产品支持的 地域列表
KeyId String 调用CreateKey生成的CMK全局唯一标识符
Plaintext String 被加密的明文数据,该字段必须使用base64编码,原文最大长度支持4K
EncryptionContext String key/value对的json字符串,如果指定了该参数,则在调用Decrypt API时需要提供同样的参数,最大支持1024个字符

3. 输出参数

参数名称 类型 描述
CiphertextBlob String 加密后的密文
KeyId String 加密使用的CMK的全局唯一标识
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 加密接口示例

使用CMK对小于4KB的数据加密。

输入示例

https://kms.tencentcloudapi.com/?Action=Encrypt
&KeyId=23e80852-1e38-11e9-b129-5cb9019b4b01
&Plaintext=dGVzdCUyMHBsYWluJTIwdGV4dA==
&<公共请求参数>

输出示例

{
  "Response": {
    "RequestId": "816c6886-2147-4ee7-86f0-9400a7a398a5",
    "KeyId": "9999aed0-4956-11e9-bc70-5254005e86b4",
    "CiphertextBlob": "g2F8eQk44QrTbfj09TL17AZyFPgs8BTtZe2j27Wuw1YzTBCxnd0T/gwFQSasmtzxZi6mmvD7DCjCE+LxJmdhXQ==-k-zJshb0kBH7C2J5I3XXbbEg==-k-o1O+7H9HFAzWbCkftO2ZtPKewS3diSB4zGKOJhMn7LcKRhYr"
  }
}

5. 开发者资源

API Explorer

该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
InternalError 内部错误。
InvalidParameter 参数错误。
InvalidParameterValue.InvalidKeyId KeyId不合法。
InvalidParameterValue.InvalidPlaintext Plaintext不合法。
ResourceUnavailable.CmkDisabled CMK已被禁用。
ResourceUnavailable.CmkNotFound CMK不存在。
UnauthorizedOperation 未授权操作。