- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# 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