// Copyright (C) 2003 Davis E. King (davis@dlib.net) // License: Boost Software License See LICENSE.txt for the full license. #undef DLIB_MD5_KERNEl_ABSTRACT_ #ifdef DLIB_MD5_KERNEl_ABSTRACT_ #include <string> #include <iosfwd> namespace dlib { /*! NOTE: This is the RSA Data Security, Inc. MD5 Message-Digest Algorithm as described in rfc1321 For the functions which return a unsigned char*. The array contains the 16 bytes of the digest and are in the correct order. i.e. output[0], output[1], output[2], ... !*/ // ---------------------------------------------------------------------------------------- const std::string md5 ( const std::string& input ); /*! ensures - returns the md5 digest of input as a hexadecimal string !*/ // ---------------------------------------------------------------------------------------- void md5 ( const unsigned char* input, unsigned long len, unsigned char* output ); /*! requires - input == pointer to len bytes - output == pointer to 16 bytes - input != output ensures - #output == the md5 digest of input. !*/ // ---------------------------------------------------------------------------------------- const std::string md5 ( std::istream& input ); /*! requires - input.fail() == false ensures - returns the md5 digest of input as a hexadecimal string - #input.eof() == true - #input.fail() == false !*/ // ---------------------------------------------------------------------------------------- void md5 ( std::istream& input unsigned char* output ); /*! requires - input.fail() == false - output == pointer to 16 bytes ensures - #output == the md5 digest of input - #input.eof() == true - #input.fail() == false !*/ // ---------------------------------------------------------------------------------------- } #endif // DLIB_MD5_KERNEl_ABSTRACT_