18#ifndef _DECAF_SECURITY_MESSAGEDIGESTSPI_H_
19#define _DECAF_SECURITY_MESSAGEDIGESTSPI_H_
103 virtual void engineUpdate(
const unsigned char* input,
int size,
int offset,
int length) = 0;
116 virtual void engineUpdate(
const std::vector<unsigned char>& input) = 0;
162 virtual int engineDigest(
unsigned char* buffer,
int size,
int offset,
int length) = 0;
This class defines six categories of operations upon byte buffers:
Definition: ByteBuffer.h:98
This MessageDigest class provides applications the functionality of a message digest algorithm,...
Definition: MessageDigest.h:71
This class defines the Service Provider Interface (SPI) for the MessageDigest class,...
Definition: MessageDigestSpi.h:47
virtual void engineReset()=0
Resets the digest for further use.
virtual MessageDigestSpi * clone()
Returns a clone if the implementation supports being cloned.
virtual void engineUpdate(const std::vector< unsigned char > &input)=0
Update the digest using the specified Vector of Bytes.
virtual void engineUpdate(const unsigned char *input, int size, int offset, int length)=0
Updates the digest using the specified array of bytes, starting at the specified offset.
virtual bool isCloneable() const
Queries the SPI implementation and returns true if the SPI can be cloned.
virtual int engineGetDigestLength()=0
Returns the digest length in bytes.
virtual std::vector< unsigned char > engineDigest()=0
Completes the hash computation by performing final operations such as padding.
virtual void engineUpdate(unsigned char input)=0
Updates the digest using the specified byte.
virtual int engineDigest(unsigned char *buffer, int size, int offset, int length)=0
Completes the hash computation by performing final operations such as padding.
virtual void engineUpdate(decaf::nio::ByteBuffer &input)=0
Update the digest using the specified ByteBuffer.
virtual ~MessageDigestSpi()
Base class used as a Marker for all Security Provider Interface classes in the Decaf Security API.
Definition: SecuritySpi.h:32
#define DECAF_API
Definition: Config.h:29
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition: AprPool.h:25