如何将Python加密生成的CiphertextBlob转换为获取此CiphertextBlob的Java解密输入?
我有一个使用KMS对称密钥的简单加密程序,并使用boto3在python中加密。现在,这种加密的输出类似于密文 详情如下: “CiphertextBlob”:b'\x01\x02\x02\x00x\x86\x9c\xb4\x1dc\xfeo+\x9d>\xc8\xae\x9d4\x9f\x80r\xc3W\xe2\XB\XB\XXB\XXB\XXB\XB\XXB\XXB\XXB\XXB\XXX8 8\XXX8\XX6\X6\X6\X6\X6\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XB\XX8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8\X8 F9\xf6\x9a/\xbf\xd0\x02\x01\x10\x80&\x12~A\xa0\xf9f\xcf\xb7\x05“'\x80\xc9\xbc\xd9\xb8\xda>\xc4\xdd\x82\xde\xb7b^\xdf\xec\x10D\xbe\xd6\x83:\xb8\x01\xf0\xa7\xfe” 我想将这个输出传递给我的java程序进行解密,但要在java中解密,java中的DecryptRequest需要输入SDKBytes类型如何将Python加密生成的CiphertextBlob转换为获取此CiphertextBlob的Java解密输入?,java,encryption-symmetric,aws-kms,Java,Encryption Symmetric,Aws Kms,我有一个使用KMS对称密钥的简单加密程序,并使用boto3在python中加密。现在,这种加密的输出类似于密文 详情如下: “CiphertextBlob”:b'\x01\x02\x02\x00x\x86\x9c\xb4\x1dc\xfeo+\x9d>\xc8\xae\x9d4\x9f\x80r\xc3W\xe2\XB\XB\XXB\XXB\XXB\XB\XXB\XXB\XXB\XXB\XXX8 8\XXX8\XX6\X6\X6\X6\X6\XB\XB\XB\XB\XB\XB\XB\XB\XB\
import json
import urllib3
import boto3
import base64
#def lambda_handler(event, context):
# TODO implement
data="Hello World"
client = boto3.client('kms')
bytes(data,encoding='utf8'))
response_encrypt = client.encrypt(
KeyId='f9####8a-####-####-####-####3e50####',
Plaintext= bytes(data,encoding='utf8'),
EncryptionContext={
'Test': 'Encryption'
}
)
print(response_encrypt)
print("-------------------------------------------")
print(response_encrypt['CiphertextBlob'])
print(response_encrypt)
Java版本
public SdkBytes deCrypt(SdkBytes encryptedJsonString) {
DecryptRequest decryptRequest = DecryptRequest.builder().ciphertextBlob(encryptedJsonString).build();
DecryptResponse decryptResponse = this.kmsClient.decrypt(decryptRequest);
return decryptResponse.plaintext();
}
尝试这个,但仍然需要一个答案