在一个项目中,被要求用protobuf加密。对方生成了一个编译后的py文件给我。 给我指示:把我生成的变量值赋值到py文件的data类中,再调用其中的serialtostring()方法来实现protobuf加密。 理解下来,其实protobuf加密就是序列化。
我把py文件加载到我的pycharm工程中,其中开头加载依赖中有写: from google.protobuf import… 但是我在pycharm的setting里面,安装了google后,这个加载依赖的命令还是有红色波浪线。
所以我上网查了以下如何安装protobuf,其中下面这篇博文推荐大家: https://blog.csdn.net/u013210620/article/details/81317731 其中有个地方好像错了: 3.继续安装protobuf的python模块(如果不用python,可跳过这一步) cd ./python 这里应该是cd python/ 按照上面这篇blog安装后,会在下面的路径中看到google文件夹: /opt/protobuf3.6.0/python/ 接下来,我把这个目录下的整个google文件夹拷贝到我的pycharm工程里,加载依赖包里的红色波浪线就消失了,加载依赖就成功了。
使用: data_serial = XXXX_pb2.Data() data_serial.timeStamp = int(time.time()) pay_pid_serial = data_serial.SerializeToString() 通过实例化,再赋值,再调用其中的一个方法的方式,就可以实现protobuf加密了。
|