24 #ifndef INC_RMD160_HPP_9F51C127_E1C2_4C40_8C5F_8C610DB13EC0
25 #define INC_RMD160_HPP_9F51C127_E1C2_4C40_8C5F_8C610DB13EC0
79 void reset()
override;
89 uint8_t*
getValue(uint8_t* buffer)
const override;
98 size_t getSize()
const override {
return 20; }
106 void update(
const uint8_t* buf,
size_t len)
override;
180 return ChecksumAlgoId::RIPEMD_160;
Computes a checksum from a byte stream.
Computes a hash from a byte stream.
Computes the RIPE-MD160 hash from a byte stream.
void transform(uint8_t *data)
Transform the message X which consists of 16 32-bit-words.
uint32_t h3
Fourth part of the state of computation.
uint32_t h2
Third part of the state of computation.
ChecksumAlgoId getID() const override
Returns an unique identifier for the checksum or the hash algorithm.
std::string getName() const override
Returns the name of the checksum or the hash algorithm.
uint32_t h1
Second part of the state of computation.
size_t getSize() const override
Returns the minimal size to allocate in memory to store the hash with the getValue(buffer) method.
uint8_t ibuffer[64]
Input buffer.
static ArrayString getAlternativeNames()
Returns the alternative names of the RIPE-MD160 hash algorithm.
ArrayString getAltNames() const
Returns the alternative names of the RIPE-MD160 hash algorithm.
uint8_t * getValue(uint8_t *buffer) const override
Returns the RIPE-MD160 hash value in the first 20 bytes of the given address.
uint32_t h0
First part of the state of computation.
void update(const uint8_t *buf, size_t len) override
Updates the RIPE-MD160 hash with specified array of bytes.
static std::string getHashName()
Returns the name of the hash algorithm.
RIPEMD160()
Default constructor.
static constexpr ChecksumAlgoId getIdentifier()
Returns an unique identifier for the hash algorithm.
void reset() override
Resets the RIPE-MD160 hash to initial state of computation.
uint32_t h4
Fifth part of the state of computation.
uint32_t nblocks
Number of blocks.
int count
Current size of the input buffer.
static Checksum * getNewInstance()
Gets a new instance of this class.
void finish()
Process the remaining bytes in the internal buffer and the usual prolog according to the standard.
Interface for classes from the Libgcrypt that compute hashes.
ChecksumAlgoId
Ids of algorithms of checksums.
std::vector< std::string > ArrayString
Array of strings.