MessageDigestSpi.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _CLASS_BEE_SECURITY_MESSAGEDIGESTSPI_H
00024 #define _CLASS_BEE_SECURITY_MESSAGEDIGESTSPI_H
00025
00026 #include "beecrypt/api.h"
00027
00028 #ifdef __cplusplus
00029
00030 #include "beecrypt/c++/array.h"
00031 using beecrypt::bytearray;
00032 #include "beecrypt/c++/lang/Object.h"
00033 using beecrypt::lang::Object;
00034 #include "beecrypt/c++/security/ShortBufferException.h"
00035 using beecrypt::security::ShortBufferException;
00036
00037 namespace beecrypt {
00038 namespace security {
00041 class BEECRYPTCXXAPI MessageDigestSpi : public Object
00042 {
00043 friend class MessageDigest;
00044
00045 protected:
00046 virtual const bytearray& engineDigest() = 0;
00047 virtual int engineDigest(byte* data, int offset, int length) throw (ShortBufferException) = 0;
00048 virtual int engineGetDigestLength() = 0;
00049 virtual void engineReset() = 0;
00050 virtual void engineUpdate(byte b) = 0;
00051 virtual void engineUpdate(const byte* data, int offset, int length) = 0;
00052
00053 public:
00054 virtual ~MessageDigestSpi() {}
00055
00056 virtual MessageDigestSpi* clone() const throw (CloneNotSupportedException) = 0;
00057 };
00058 }
00059 }
00060
00061 #endif
00062
00063 #endif