2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-05-31 17:30:54 +00:00
qpdf/libqpdf/qpdf/SHA2_native.hh
2019-11-09 08:18:02 -05:00

29 lines
553 B
C++

#ifndef SHA2_NATIVE_HH
#define SHA2_NATIVE_HH
#include <sph/sph_sha2.h>
#include <string>
class SHA2_native
{
public:
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];
};
#endif // SHA2_NATIVE_HH