概述
在线加密解密功能操作分两个 API 组成,分别如下:
加密
通过 Encrypt 来针对用户的数据进行加密,用于加密的数据大小最多为4KB任意数据,可用于加密数据库密码,RSA Key,或其它较小的敏感信息。对于应用的数据加密,推荐使用 GenerateDataKey 生成的 DEK 进行本地数据的加解密操作。
示例
加密示例
使用 TCCLI 调用加密接口时,需对明文数据进行 Base64 编码。本案例使用 This example is used for testing 文本案例。
输入
tccli kms Encrypt --KeyId 6xxxxxx-xxxx-xxxx-xxxx-5xxxxxxxxx5 --Plaintext "VGhpcyBleGFtcGxlIGlzIHVzZWQgZm9yIHRlc3Rpbmc="
输出
如成功执行,请求数据将返回密文和加密该明文的 CMK ID,其中密文将用来后续的解密操作。
{"KeyId": "6xxxxxx-xxxx-xxxx-xxxx-5xxxxxxxxx5","RequestId": "23781471-c213-44c5-92a4-731b882e25b5","CiphertextBlob": "Rrnqz5fthTxcSdCYIw5pBoEWLvrdqYNZ0oXKOmvYx/1Oo2R+DqEFPjjfVA1n1RE8PmVITaxuJwu9ZANK9uK3WA==-k-fKVP3WIlGpg8m9LMW4jEkQ==-k-mFM/5PEiMJsKC6fagEOfdlocOyC+a1n8PqaTOlBLT+r****L*****qamMQ3ERsYIe0wYoAMszR/FBrCJZ3a3B7f+8Xg="}
解密示例
现在我们来针对加密数据进行解密。其中示例流程中的 CMK 以上述创建的 CMK 为例。
输入
tccli kms Decrypt --CiphertextBlob "Rrnqz5fthTxcSdCYIw5pBoEWLvrdqYNZ0oXKOmvYx/1Oo2R+DqEFPjjfVA1n1RE8PmVITaxuJwu9ZANK9uK3WA==-k-fKVP3WIlGpg8m9LMW4jEkQ==-k-mFM/5PEiMJsKC6fagEOfdlocOyC+a1n8PqaTOlBLT+r****LVHUVtqamM****sYIe0wYoAMszR/FBrCJZ3a3B7f+8Xg="
输出
如成功执行,请求数据将返回 Base64 编码的明文和加密该明文的 CMK ID。后续需要进行额外的 Base64 解密操作获取明文。
{"Plaintext": "VGhpcyBleGFtcGxlIGlzIHVzZWQgZm9yIHRlc3Rpbmc=","KeyId": "6xxxxxx-xxxx-xxxx-xxxx-5xxxxxxxxx5","RequestId": "bcce3fae-****-****-****-d42780c10702"}