파이썬은 protobuf를 사용합니다

#설치

tar zxvf protobuf-python-3.5.1.tar.gz
cd protobuf-3.5.1
./configure
make
make check
make install

#
protoc --version 확인

#python protobuf 모듈 설치
cd python
python setup.py install

 

#Write kms_sdk.proto 파일

# 생성 kms_sdk_pb2.py

protoc -I =. / --python_out =. / kms_sdk.proto

 

import kms_sdk_pb2


msgdata = kms_sdk_pb2.CipherMsg()

msgdata.head.algorithm = 1
msgdata.head.encryptionContext = 'hello'

msgdata.head.blockType = 0
msgdata.head.blockLength = 100

#repeated类型处理
dataKey1 = msgdata.head.dataKeys.add()
dataKey1.cmkRegion = 'guangzhou'
dataKey1.cmkKeyId = 'aaaaaaaaa'
dataKey1.dataKey = 'AAAAAAAA'

dataKey2 = msgdata.head.dataKeys.add()
dataKey2.cmkRegion = 'shanghai'
dataKey2.cmkKeyId = 'bbbbbb'
dataKey2.dataKey = 'BBBBBBB'

sendDataStr = msgdata.SerializeToString()
print('SerializeToString:',sendDataStr)


receiveDataStr  = sendDataStr 
receiveData = kms_sdk_pb2.CipherMsg()
receiveData.ParseFromString(receiveDataStr)

print(receiveData.head.encryptionContext)
print(len(receiveData.head.dataKeys))
print(receiveData.head.dataKeys[0].cmkRegion)




 

추천

출처blog.csdn.net/woailp___2005/article/details/106383207