md4.h

00001 #ifndef CRYPTOPP_MD4_H
00002 #define CRYPTOPP_MD4_H
00003 
00004 #include "iterhash.h"
00005 
00006 NAMESPACE_BEGIN(CryptoPP)
00007 
00008 namespace Weak1 {
00009 
00010 //! <a href="http://www.weidai.com/scan-mirror/md.html#MD4">MD4</a>
00011 /*! \warning MD4 is considered insecure, and should not be used
00012         unless you absolutely need it for compatibility. */
00013 class MD4 : public IteratedHashWithStaticTransform<word32, LittleEndian, 64, 16, MD4>
00014 {
00015 public:
00016         static void InitState(HashWordType *state);
00017         static void Transform(word32 *digest, const word32 *data);
00018         static const char *StaticAlgorithmName() {return "MD4";}
00019 };
00020 
00021 }
00022 #if CRYPTOPP_ENABLE_NAMESPACE_WEAK >= 1
00023 namespace Weak {using namespace Weak1;}         // import Weak1 into CryptoPP::Weak
00024 #else
00025 using namespace Weak1;  // import Weak1 into CryptoPP with warning
00026 #ifdef __GNUC__
00027 #warning "You may be using a weak algorithm that has been retained for backwards compatibility. Please '#define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1' before including this .h file and prepend the class name with 'Weak::' to remove this warning."
00028 #else
00029 #pragma message("You may be using a weak algorithm that has been retained for backwards compatibility. Please '#define CRYPTOPP_ENABLE_NAMESPACE_WEAK 1' before including this .h file and prepend the class name with 'Weak::' to remove this warning.")
00030 #endif
00031 #endif
00032 
00033 NAMESPACE_END
00034 
00035 #endif

Generated on Fri Jun 1 11:11:22 2007 for Crypto++ by  doxygen 1.5.2