diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2019-10-05 08:47:17 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2019-10-05 08:47:17 +0200 |
commit | acadbbc9d82247c039cea12ea5e86c1f4841fdb9 (patch) | |
tree | 5a40294ec59e9964e692124cf629a6055f229a5c | |
parent | 88adf3f7f2e9c6f1ea3c722ead41a5579b3292bf (diff) |
Add sha{1,256}::reset()
-rw-r--r-- | libbutl/sha1.cxx | 7 | ||||
-rw-r--r-- | libbutl/sha1.mxx | 7 | ||||
-rw-r--r-- | libbutl/sha256.cxx | 7 | ||||
-rw-r--r-- | libbutl/sha256.mxx | 7 |
4 files changed, 20 insertions, 8 deletions
diff --git a/libbutl/sha1.cxx b/libbutl/sha1.cxx index 3c1cbdc..d17119f 100644 --- a/libbutl/sha1.cxx +++ b/libbutl/sha1.cxx @@ -71,11 +71,12 @@ using namespace std; namespace butl { - sha1:: - sha1 () - : done_ (false), empty_ (true) + void sha1:: + reset () { SHA1_Init (reinterpret_cast<SHA1_CTX*> (buf_)); + done_ = false; + empty_ = true; } void sha1:: diff --git a/libbutl/sha1.mxx b/libbutl/sha1.mxx index f69ae5a..ea87367 100644 --- a/libbutl/sha1.mxx +++ b/libbutl/sha1.mxx @@ -40,7 +40,7 @@ LIBBUTL_MODEXPORT namespace butl class LIBBUTL_SYMEXPORT sha1 { public: - sha1 (); + sha1 () {reset ();} // Append binary data. // @@ -79,6 +79,11 @@ LIBBUTL_MODEXPORT namespace butl bool empty () const {return empty_;} + // Reset to the default-constructed state. + // + void + reset (); + // Extract result. // // It can be obtained as either a 20-byte binary digest or as a 40- diff --git a/libbutl/sha256.cxx b/libbutl/sha256.cxx index 31730a2..65cd18c 100644 --- a/libbutl/sha256.cxx +++ b/libbutl/sha256.cxx @@ -65,11 +65,12 @@ using namespace std; namespace butl { - sha256:: - sha256 () - : done_ (false), empty_ (true) + void sha256:: + reset () { SHA256_Init (reinterpret_cast<SHA256_CTX*> (buf_)); + done_ = false; + empty_ = true; } void sha256:: diff --git a/libbutl/sha256.mxx b/libbutl/sha256.mxx index 2bb58b3..6d53ead 100644 --- a/libbutl/sha256.mxx +++ b/libbutl/sha256.mxx @@ -41,7 +41,7 @@ LIBBUTL_MODEXPORT namespace butl class LIBBUTL_SYMEXPORT sha256 { public: - sha256 (); + sha256 () {reset ();} // Append binary data. // @@ -113,6 +113,11 @@ LIBBUTL_MODEXPORT namespace butl bool empty () const {return empty_;} + // Reset to the default-constructed state. + // + void + reset (); + // Extract result. // // It can be obtained as either a 32-byte binary digest or as a 64- |