1. 接口描述
本接口(Encrypt)用于加密最多为4KB任意数据,诸如 RSA 密钥,数据库密钥,或者其他敏感的客户信息。
Note:
任何时候,包括内测期间,如果使用外网域名产生公网下行流量,都会收取流量费用。 所以强烈建议服务在腾讯云上的用户使用内网域名,内网不会产生流量费用。
输入参数有些是可选的,不填取默认值。
输出参数在成功情况下所有出参都会返回给用户;失败情况下,至少会有code, message, requestId返回。
2. 输入参数
参数名称 | 是否必选 | 类型 | 描述 |
keyId | 是 | String | 调用 CreateKey 生成的 CMK 全局唯一标识符。 |
plaintext | 是 | String | 被加密的明文数据,该字符串必须使用 base64 编码。KMS SDK 加密接口已经封装了 base64 编码操作。用户若使用 SDK 则不需要调用 base64 操作。 |
encryptionContext | 否 | json 格式字符串 | key/value 对的 json 字符串,如果指定了该参数,则在调用 Decrypt API 时需要提供同样的参数。 |
3. 输出参数
参数名称 | 类型 | 描述 |
code | Int | 0:表示成功,others:错误,详细错误见下表。 |
message | String | 错误提示信息。 |
requestId | String | 服务器生成的请求 Id,出现服务器内部错误时,用户可提交此 Id 给后台定位问题。 |
keyId | String | CMK 的全局唯一标识。 |
ciphertextBlob | String | 加密后的密文。 |
错误代码 | 模块错误代码 | 英文提示 | 描述 |
4560 | 10660 | encryption failed, please check input parameters | 加密失败,请检查加密参数。 |
4540 | 10640 | illegal encryptionContext | encryptionContext 非法,该字段必须为json格式字符串。 |
4590 | 10690 | plaintext is not encoded with base64 | plaintext 必须使用base64编码。 |
Note:
4. 示例
输入
https://kms-gz.api.tencentyun.com/v2/index.php?Action=Encrypt&keyId=kms-30slkdf&plaintext=databasepassword&<公共请求参数>
输出
{"code" : 0,"message" : "","requestId":"14534664555","msgId":"123345346","keyId":"kms-30slkdf","ciphertextBlob":"string"}