message: add model encrypt,test=develop
diff: #include <pthread.h>
  #include <fstream>
  #include <map>
  +#include <memory>
  #include <string>
  #include <vector>
  #include "core/configure/include/configure_parser.h"
  #include "core/configure/inferencer_configure.pb.h"
  -#include "core/predictor/framework/infer.h"
  #include "core/predictor/common/utils.h"
  +#include "core/predictor/framework/infer.h"
  #include "paddle_inference_api.h" // NOLINT
  namespace baidu {
  @@ -37,8 +38,8 @@ using paddle_infer::CreatePredictor;
  DECLARE_int32(gpuid);
  -const static int max_batch = 32;
  -const static int min_subgraph_size = 3;
  +static const int max_batch = 32;
  +static const int min_subgraph_size = 3;
  // Engine Base
  class PaddleEngineBase {
  @@ -140,19 +141,33 @@ class PaddleInferenceEngine : public PaddleEngineBase {
  // 2 MB l3 cache
  config.EnableXpu(2 * 1024 * 1024);
  }
  - if (engine_conf.has_enable_ir_optimization() && !engine_conf.enable_ir_optimization()) {
  + if (engine_conf.has_enable_ir_optimization() &&
  + !engine_conf.enable_ir_optimization()) {
  config.SwitchIrOptim(false);
  } else {
  config.SwitchIrOptim(true);
  }
  - if (engine_conf.has_enable_memory_optimization() && engine_conf.enable_memory_optimization()) {
  + if (engine_conf.has_enable_memory_optimization() &&
  + engine_conf.enable_memory_optimization()) {
  config.EnableMemoryOptim();
  }
  - if (false) {
  - // todo, encrypt model
  - //analysis_config.SetModelBuffer();
  + if (engine_conf.has_encrypted_model() && engine_conf.encrypted_mode()) {
  + // decrypt model
  + std::string model_buffer, params_buffer, key_buffer;
  + ReadBinaryFile(model_path + "encrypt_model", &model_buffer);
  + ReadBinaryFile(model_path + "encrypt_params", &params_buffer);
  + ReadBinaryFile(model_path + "key", &key_buffer);
  +
  + auto cipher = paddle::MakeCipher("");
  + std::string real_model_buffer = cipher->Decrypt(model_buffer, key_buffer);
  + std::string real_params_buffer =
  + cipher->Decrypt(params_buffer, key_buffer);
  + config.SetModelBuffer(&real_model_buffer[0],
  + real_model_buffer.size(),
  + &real_params_buffer[0],
  + real_params_buffer.size());
  }
  predictor::AutoLock lock(predictor::GlobalCreateMutex::instance());
  