00001 // $Id: XrdCryptoMsgDigest.hh 30749 2009-10-15 16:33:04Z brun $ 00002 #ifndef __CRYPTO_MSGDGST_H__ 00003 #define __CRYPTO_MSGDGST_H__ 00004 /******************************************************************************/ 00005 /* */ 00006 /* X r d C r y p t o M s g D i g e s t . h h */ 00007 /* */ 00008 /* (c) 2004 by the Board of Trustees of the Leland Stanford, Jr., University */ 00009 /* All Rights Reserved. See XrdInfo.cc for complete License Terms */ 00010 /* Produced by Andrew Hanushevsky for Stanford University under contract */ 00011 /* DE-AC03-76-SFO0515 with the Department of Energy */ 00012 /******************************************************************************/ 00013 00014 /* ************************************************************************** */ 00015 /* */ 00016 /* Abstract interface for Message Digest crypto functionality. */ 00017 /* Allows to plug-in modules based on different crypto implementation */ 00018 /* (OpenSSL, Botan, ...) */ 00019 /* */ 00020 /* ************************************************************************** */ 00021 00022 #include <XrdCrypto/XrdCryptoBasic.hh> 00023 00024 // ---------------------------------------------------------------------------// 00025 // 00026 // Message Digest abstract buffer 00027 // 00028 // ---------------------------------------------------------------------------// 00029 class XrdCryptoMsgDigest : public XrdCryptoBasic 00030 { 00031 00032 public: 00033 XrdCryptoMsgDigest() : XrdCryptoBasic() { } 00034 virtual ~XrdCryptoMsgDigest() { } 00035 00036 // Validity 00037 virtual bool IsValid(); 00038 00039 // Methods 00040 virtual int Reset(const char *dgst); 00041 virtual int Update(const char *b, int l); 00042 virtual int Final(); 00043 00044 // Equality operator 00045 bool operator==(const XrdCryptoMsgDigest md); 00046 }; 00047 00048 #endif