diff --git a/Chaos/Hash/Md4.hpp b/Chaos/Hash/Md4.hpp index 0bb07cc..b752429 100644 --- a/Chaos/Hash/Md4.hpp +++ b/Chaos/Hash/Md4.hpp @@ -163,12 +163,13 @@ class Md4Hasher : public Hasher { public: Md4Hasher() - : BlockSize_(0) - , Word_(0) - , WordBytesPacked_(0) - , MessageSizeBytes_(0) { - Block_.fill(0); + ResetImpl(); + } + + void Reset() + { + ResetImpl(); } template @@ -256,6 +257,17 @@ private: uint64_t MessageSizeBytes_; + void ResetImpl() + { + Buffer_ = Inner_::Buffer(); + Block_.fill(0); + + BlockSize_ = 0; + Word_ = 0; + WordBytesPacked_ = 0; + MessageSizeBytes_ = 0; + } + template uint64_t UpdateImpl(InputIt begin, InputIt end) {