密钥管理系统 对称加解密

腾讯云KMS提供Encrypt和Decrypt两个API用于在线加密解密,加密数据最大4KB,推荐使用GenerateDataKey进行本地数据加密。这篇通过TCCLI命令行工具演示操作流程,加密时需对明文进行Base64编码。 加密:使用Encrypt接口对明文Base64编码后传入,返回密文和CMK ID。 解密:使用Decrypt接口传入密文,返回Base64编码的明文,需额外解码。

相关产品
密钥管理系统 产品页,含版本规格、价格与购买入口。

一、概述

在线加密解密功能操作分两个 API 组成,分别如下:

API 名称 API 描述 说明
Encrypt 加密 该 API 操作的 KeyId 和 Plaintext 为必选参数,详情请参见 Encrypt 接口文档
Decrypt 解密 该 API 操作的 CiphertextBlob 为必选参数,详情请参见 Decrypt 接口文档

二、加密

通过 Encrypt 来针对用户的数据进行加密,用于加密的数据大小最多为4KB任意数据,可用于加密数据库密码,RSA Key,或其它较小的敏感信息。对于应用的数据加密,推荐使用 GenerateDataKey 生成的 DEK 进行本地数据的加解密操作。

这篇示例使用腾讯云 命令行工具 TCCLI,后续你可以使用任何受支持的编程语言调用。

三、加密示例

使用 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"}

赞 (0)
上一篇 5天前
下一篇 5天前