From 329abf0728324d50caf961a457e6f5afb30e81d3 Mon Sep 17 00:00:00 2001 From: mwish Date: Thu, 11 Jul 2024 23:05:22 +0800 Subject: [PATCH] Update encryptor impl --- .../parquet/encryption/internal_file_encryptor.cc | 13 +++++++++---- .../parquet/encryption/internal_file_encryptor.h | 2 -- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cpp/src/parquet/encryption/internal_file_encryptor.cc b/cpp/src/parquet/encryption/internal_file_encryptor.cc index 1a10a0004efa4..ee4e743324cca 100644 --- a/cpp/src/parquet/encryption/internal_file_encryptor.cc +++ b/cpp/src/parquet/encryption/internal_file_encryptor.cc @@ -52,8 +52,15 @@ InternalFileEncryptor::InternalFileEncryptor(FileEncryptionProperties* propertie void InternalFileEncryptor::WipeOutEncryptionKeys() { properties_->WipeOutEncryptionKeys(); - for (auto const& i : all_encryptors_) { - i->WipeOut(); + for (auto const& i : meta_encryptor_) { + if (i != nullptr) { + i->WipeOut(); + } + } + for (auto const& i : data_encryptor_) { + if (i != nullptr) { + i->WipeOut(); + } } } @@ -151,7 +158,6 @@ encryption::AesEncryptor* InternalFileEncryptor::GetMetaAesEncryptor( int index = MapKeyLenToEncryptorArrayIndex(key_len); if (meta_encryptor_[index] == nullptr) { meta_encryptor_[index] = encryption::AesEncryptor::Make(algorithm, key_len, true); - all_encryptors_.push_back(meta_encryptor_[index].get()); } return meta_encryptor_[index].get(); } @@ -162,7 +168,6 @@ encryption::AesEncryptor* InternalFileEncryptor::GetDataAesEncryptor( int index = MapKeyLenToEncryptorArrayIndex(key_len); if (data_encryptor_[index] == nullptr) { data_encryptor_[index] = encryption::AesEncryptor::Make(algorithm, key_len, false); - all_encryptors_.push_back(data_encryptor_[index].get()); } return data_encryptor_[index].get(); } diff --git a/cpp/src/parquet/encryption/internal_file_encryptor.h b/cpp/src/parquet/encryption/internal_file_encryptor.h index 1af474cc2c66c..6f6c51850434c 100644 --- a/cpp/src/parquet/encryption/internal_file_encryptor.h +++ b/cpp/src/parquet/encryption/internal_file_encryptor.h @@ -86,8 +86,6 @@ class InternalFileEncryptor { std::shared_ptr footer_signing_encryptor_; std::shared_ptr footer_encryptor_; - std::vector all_encryptors_; - // Key must be 16, 24 or 32 bytes in length. Thus there could be up to three // types of meta_encryptors and data_encryptors. std::unique_ptr meta_encryptor_[3];