kms.tencentcloudapi.com. For details, refer to the documentation of each product.pip install tencentcloud-sdk-python
# -*- coding: utf-8 -*-import base64from Crypto.Cipher import AESfrom tencentcloud.common import credentialfrom tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKExceptionfrom tencentcloud.common.profile.client_profile import ClientProfilefrom tencentcloud.common.profile.http_profile import HttpProfilefrom tencentcloud.kms.v20190118 import kms_client, modelsdef KmsInit(region="ap-guangzhou", secretId="", secretKey=""):try:credProfile = credential.Credential(secretId, secretKey)client = kms_client.KmsClient(credProfile, region)return clientexcept TencentCloudSDKException as err:print(err)return Nonedef GenerateDatakey(client, keyId, keyspec='AES_128'):try:req = models.GenerateDataKeyRequest()req.KeyId = keyIdreq.KeySpec = keyspec# Call the GenerateDataKey API.generatedatakeyResp = client.GenerateDataKey(req)# Plaintext keys must be used in memory, while encrypted keys are used for persistent storage.print "DEK cipher=", generatedatakeyResp.CiphertextBlobreturn generatedatakeyRespexcept TencentCloudSDKException as err:print(err)def AddTo16(value):while len(value) % 16 != 0:value += '\\0'return str.encode(value)# User-defined logic, provided here for reference only.def LocalEncrypt(dataKey="", plaintext=""):aes = AES.new(base64.b64decode(dataKey), AES.MODE_ECB)encryptedData = aes.encrypt(AddTo16(plaintext))ciphertext = base64.b64encode(encryptedData)print "plaintext=", plaintext, ", cipher=", ciphertextif __name__ == '__main__':# User-defined parameterssecretId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"secretKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"region = "ap-guangzhou"keyId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"keySpec = "AES_256"plaintext = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"client = KmsInit(region, secretId, secretKey)rsp = GenerateDatakey(client, keyId, keySpec)LocalEncrypt(rsp.Plaintext, plaintext)
# -*- coding: utf-8 -*-import base64from Crypto.Cipher import AESfrom tencentcloud.common import credentialfrom tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKExceptionfrom tencentcloud.common.profile.client_profile import ClientProfilefrom tencentcloud.common.profile.http_profile import HttpProfilefrom tencentcloud.kms.v20190118 import kms_client, modelsdef KmsInit(region="ap-guangzhou", secretId="", secretKey=""):try:credProfile = credential.Credential(secretId, secretKey)client = kms_client.KmsClient(credProfile, region)return clientexcept TencentCloudSDKException as err:print(err)return Nonedef DecryptDataKey(client, ciphertextBlob):try:req = models.DecryptRequest()req.CiphertextBlob = ciphertextBlobrsp = client.Decrypt(req) # Call the decryption API to decrypt the DEK.return rspexcept TencentCloudSDKException as err:print(err)# User-defined logic, provided here for reference only.def LocalDecrypt(dataKey="", ciphertext=""):aes = AES.new(base64.b64decode(dataKey), AES.MODE_ECB)decryptedData = aes.decrypt(base64.b64decode(ciphertext))plaintext = str(decryptedData)print "plaintext=", plaintext, ", cipher=", ciphertextif __name__ == '__main__':# User-defined parameterssecretId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"secretKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"region = "ap-guangzhou"dekCipherBlob="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"ciphertext="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"client = KmsInit(region, secretId, secretKey)rsp = DecryptDataKey(client, dekCipherBlob)LocalDecrypt(rsp.Plaintext, ciphertext)
Apakah halaman ini membantu?
Anda juga dapat Menghubungi Penjualan atau Mengirimkan Tiket untuk meminta bantuan.
masukan