summaryrefslogtreecommitdiff
path: root/src/buildtool/crypto/hash_impl_sha256.cpp
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2022-06-15 18:51:47 +0200
committerOliver Reiche <oliver.reiche@huawei.com>2022-06-20 15:23:02 +0200
commit855affd9b681d98f248009ddb2c1abe987029f72 (patch)
tree6d4dbfc2c99020772313f381d2f793950d2b03f4 /src/buildtool/crypto/hash_impl_sha256.cpp
parent391d982f2fbd98a2973f14e0b5969f66c2abd756 (diff)
downloadjustbuild-855affd9b681d98f248009ddb2c1abe987029f72.tar.gz
Crypto: Refactor hash computation
... by renaming HashGenerator to (incremental) Hasher and dropping support for Git/MD5 hashes. The Hasher does not expose the actual hash implementation.
Diffstat (limited to 'src/buildtool/crypto/hash_impl_sha256.cpp')
-rw-r--r--src/buildtool/crypto/hash_impl_sha256.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/buildtool/crypto/hash_impl_sha256.cpp b/src/buildtool/crypto/hash_impl_sha256.cpp
index bbea10d3..8fa80bbc 100644
--- a/src/buildtool/crypto/hash_impl_sha256.cpp
+++ b/src/buildtool/crypto/hash_impl_sha256.cpp
@@ -1,11 +1,12 @@
+#include "src/buildtool/crypto/hash_impl_sha256.hpp"
+
#include <array>
#include <cstdint>
#include "openssl/sha.h"
-#include "src/buildtool/crypto/hash_impl.hpp"
/// \brief Hash implementation for SHA-256
-class HashImplSha256 final : public IHashImpl {
+class HashImplSha256 final : public Hasher::IHashImpl {
public:
HashImplSha256() { initialized_ = SHA256_Init(&ctx_) == 1; }
@@ -35,16 +36,12 @@ class HashImplSha256 final : public IHashImpl {
return {};
}
- [[nodiscard]] auto DigestLength() const noexcept -> std::size_t final {
- return SHA256_DIGEST_LENGTH;
- }
-
private:
SHA256_CTX ctx_{};
bool initialized_{};
};
/// \brief Factory for SHA-256 implementation
-auto CreateHashImplSha256() -> std::unique_ptr<IHashImpl> {
+auto CreateHashImplSha256() -> std::unique_ptr<Hasher::IHashImpl> {
return std::make_unique<HashImplSha256>();
}