diff options
author | Kelvin Zhang <zhangkelvin@google.com> | 2021-05-11 09:44:19 -0400 |
---|---|---|
committer | Kelvin Zhang <zhangkelvin@google.com> | 2021-05-11 09:56:18 -0400 |
commit | 5d61eeccef14a00ded81a7c49b47230bbf1e7114 (patch) | |
tree | 9f5760cf8b171e63378b3d6f51132334cbde31ed /verity | |
parent | 200df5e5f32a0c6f10e999c53cb372e893b3b71d (diff) | |
download | extras-5d61eeccef14a00ded81a7c49b47230bbf1e7114.tar.gz |
Expose a static method for computing hash tree size
Test: th
Change-Id: I53cae3ffeaef262733faf9070815cd396590c7be
Diffstat (limited to 'verity')
-rw-r--r-- | verity/hash_tree_builder.cpp | 7 | ||||
-rw-r--r-- | verity/include/verity/hash_tree_builder.h | 5 |
2 files changed, 8 insertions, 4 deletions
diff --git a/verity/hash_tree_builder.cpp b/verity/hash_tree_builder.cpp index 52899a35..1cd2e291 100644 --- a/verity/hash_tree_builder.cpp +++ b/verity/hash_tree_builder.cpp @@ -96,18 +96,19 @@ bool HashTreeBuilder::ParseBytesArrayFromString( return true; } -uint64_t HashTreeBuilder::CalculateSize(uint64_t input_size) const { +uint64_t HashTreeBuilder::CalculateSize( + uint64_t input_size, size_t block_size, size_t hash_size) { uint64_t verity_blocks = 0; size_t level_blocks; size_t levels = 0; do { level_blocks = - verity_tree_blocks(input_size, block_size_, hash_size_, levels); + verity_tree_blocks(input_size, block_size, hash_size, levels); levels++; verity_blocks += level_blocks; } while (level_blocks > 1); - return verity_blocks * block_size_; + return verity_blocks * block_size; } bool HashTreeBuilder::Initialize(int64_t expected_data_size, diff --git a/verity/include/verity/hash_tree_builder.h b/verity/include/verity/hash_tree_builder.h index f4ceab8c..a601d1d9 100644 --- a/verity/include/verity/hash_tree_builder.h +++ b/verity/include/verity/hash_tree_builder.h @@ -35,7 +35,10 @@ class HashTreeBuilder { public: HashTreeBuilder(size_t block_size, const EVP_MD* md); // Returns the size of the verity tree in bytes given the input data size. - uint64_t CalculateSize(uint64_t input_size) const; + uint64_t CalculateSize(uint64_t input_size) const { + return CalculateSize(input_size, block_size_, hash_size_); + } + static uint64_t CalculateSize(uint64_t input_size, size_t block_size, size_t hash_size); // Gets ready for the hash tree computation. We expect |expected_data_size| // bytes source data. bool Initialize(int64_t expected_data_size, |