加密

最近更新时间:2017-12-21 17:26:25

1. 接口描述

本接口 (Encrypt) 用于加密最多为4KB任意数据,诸如RSA密钥,数据库密钥,或者其他敏感的客户信息。

kms请求域名接口和说明可参考地域和域名说明

任何时候,包括内测期间,如果使用外网域名产生公网下行流量,都会收取流量费用。 所以强烈建议服务在腾讯云上的用户使用内网域名,内网不会产生流量费用。

  • 输入参数有些是可选的,不填取默认值。
  • 输出参数在成功情况下所有出参都会返回给用户;失败情况下,至少会有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编码。

注意:上表所列错误码是接口特有错误码,如果您要查找的错误码不在其中,可能在公共错误码中。

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"

}