2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-06-01 01:40:51 +00:00
qpdf/libqpdf/qpdf/SHA2_native.hh

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

29 lines
553 B
C++
Raw Permalink Normal View History

2019-11-04 14:55:43 +00:00
#ifndef SHA2_NATIVE_HH
#define SHA2_NATIVE_HH
#include <sph/sph_sha2.h>
2019-11-04 14:55:43 +00:00
#include <string>
2019-11-04 14:55:43 +00:00
class SHA2_native
{
public:
2019-11-04 14:55:43 +00:00
SHA2_native(int bits);
~SHA2_native() = default;
void update(unsigned char const* const, size_t);
void finalize();
std::string getRawDigest();
private:
void badBits();
int bits;
sph_sha256_context ctx256;
sph_sha384_context ctx384;
sph_sha512_context ctx512;
unsigned char sha256sum[32];
unsigned char sha384sum[48];
unsigned char sha512sum[64];
};
2019-11-04 14:55:43 +00:00
#endif // SHA2_NATIVE_HH