md5.h
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:2k
源码类别:

Windows CE

开发平台:

C/C++

  1. /*
  2.  * This is the header file for the MD5 message-digest algorithm.
  3.  * The algorithm is due to Ron Rivest.  This code was
  4.  * written by Colin Plumb in 1993, no copyright is claimed.
  5.  * This code is in the public domain; do with it what you wish.
  6.  *
  7.  * Equivalent code is available from RSA Data Security, Inc.
  8.  * This code has been tested against that, and is equivalent,
  9.  * except that you don't need to include two pages of legalese
  10.  * with every copy.
  11.  *
  12.  * To compute the message digest of a chunk of bytes, declare an
  13.  * MD5Context structure, pass it to MD5Init, call MD5Update as
  14.  * needed on buffers full of bytes, and then call MD5Final, which
  15.  * will fill a supplied 16-byte array with the digest.
  16.  *
  17.  * Changed so as no longer to depend on Colin Plumb's `usual.h'
  18.  * header definitions; now uses stuff from dpkg's config.h
  19.  *  - Ian Jackson <ijackson@nyx.cs.du.edu>.
  20.  * Still in the public domain.
  21.  *
  22.  * Josh Coalson: made some changes to integrate with libFLAC.
  23.  * Still in the public domain.
  24.  */
  25. #ifndef FLAC__PRIVATE__MD5_H
  26. #define FLAC__PRIVATE__MD5_H
  27. #define md5byte unsigned char
  28. /*
  29.  * Due to an unholy abomination in libOggFLAC (it requires access to
  30.  * these internal MD5 functions) we have to #include "FLAC/export.h"
  31.  * and export them when building a DLL
  32.  */
  33. #include "FLAC/export.h"
  34. #include "FLAC/ordinals.h"
  35. struct FLAC__MD5Context {
  36. FLAC__uint32 buf[4];
  37. FLAC__uint32 bytes[2];
  38. FLAC__uint32 in[16];
  39. FLAC__byte *internal_buf;
  40. unsigned capacity;
  41. };
  42. FLAC_API void FLAC__MD5Init(struct FLAC__MD5Context *context);
  43. FLAC_API void FLAC__MD5Update(struct FLAC__MD5Context *context, md5byte const *buf, unsigned len);
  44. FLAC_API void FLAC__MD5Final(md5byte digest[16], struct FLAC__MD5Context *context);
  45. void FLAC__MD5Transform(FLAC__uint32 buf[4], FLAC__uint32 const in[16]);
  46. FLAC_API FLAC__bool FLAC__MD5Accumulate(struct FLAC__MD5Context *ctx, const FLAC__int32 * const signal[], unsigned channels, unsigned samples, unsigned bytes_per_sample);
  47. #endif /* !MD5_H */