aboutsummaryrefslogtreecommitdiffstats
path: root/src/hash/sha2
diff options
context:
space:
mode:
Diffstat (limited to 'src/hash/sha2')
-rw-r--r--src/hash/sha2/sha2_32.h14
-rw-r--r--src/hash/sha2/sha2_64.h13
2 files changed, 15 insertions, 12 deletions
diff --git a/src/hash/sha2/sha2_32.h b/src/hash/sha2/sha2_32.h
index 71f0cff4b..a3e3a6f19 100644
--- a/src/hash/sha2/sha2_32.h
+++ b/src/hash/sha2/sha2_32.h
@@ -22,13 +22,14 @@ class BOTAN_DLL SHA_224 : public MDx_HashFunction
void clear();
std::string name() const { return "SHA-224"; }
HashFunction* clone() const { return new SHA_224; }
- SHA_224() : MDx_HashFunction(28, 64, true, true) { clear(); }
+
+ SHA_224() : MDx_HashFunction(28, 64, true, true), W(64), digest(8)
+ { clear(); }
private:
void compress_n(const byte[], u32bit blocks);
void copy_out(byte[]);
- SecureVector<u32bit, 64> W;
- SecureVector<u32bit, 8> digest;
+ SecureVector<u32bit> W, digest;
};
/**
@@ -40,13 +41,14 @@ class BOTAN_DLL SHA_256 : public MDx_HashFunction
void clear();
std::string name() const { return "SHA-256"; }
HashFunction* clone() const { return new SHA_256; }
- SHA_256() : MDx_HashFunction(32, 64, true, true) { clear(); }
+
+ SHA_256() : MDx_HashFunction(32, 64, true, true), W(64), digest(8)
+ { clear(); }
private:
void compress_n(const byte[], u32bit blocks);
void copy_out(byte[]);
- SecureVector<u32bit, 64> W;
- SecureVector<u32bit, 8> digest;
+ SecureVector<u32bit> W, digest;
};
}
diff --git a/src/hash/sha2/sha2_64.h b/src/hash/sha2/sha2_64.h
index e8112595e..726712221 100644
--- a/src/hash/sha2/sha2_64.h
+++ b/src/hash/sha2/sha2_64.h
@@ -21,13 +21,14 @@ class BOTAN_DLL SHA_384 : public MDx_HashFunction
void clear();
std::string name() const { return "SHA-384"; }
HashFunction* clone() const { return new SHA_384; }
- SHA_384() : MDx_HashFunction(48, 128, true, true, 16) { clear(); }
+
+ SHA_384() : MDx_HashFunction(48, 128, true, true, 16), W(80), digest(8)
+ { clear(); }
private:
void compress_n(const byte[], u32bit blocks);
void copy_out(byte[]);
- SecureVector<u64bit, 80> W;
- SecureVector<u64bit, 8> digest;
+ SecureVector<u64bit> W, digest;
};
/**
@@ -39,13 +40,13 @@ class BOTAN_DLL SHA_512 : public MDx_HashFunction
void clear();
std::string name() const { return "SHA-512"; }
HashFunction* clone() const { return new SHA_512; }
- SHA_512() : MDx_HashFunction(64, 128, true, true, 16) { clear(); }
+ SHA_512() : MDx_HashFunction(64, 128, true, true, 16), W(80), digest(8)
+ { clear(); }
private:
void compress_n(const byte[], u32bit blocks);
void copy_out(byte[]);
- SecureVector<u64bit, 80> W;
- SecureVector<u64bit, 8> digest;
+ SecureVector<u64bit> W, digest;
};
}