md5.h
上传用户:yyhongfa
上传日期:2013-01-18
资源大小:267k
文件大小:3k
开发平台:

C/C++

  1. /*
  2.  ***********************************************************************
  3.  ** md5.h -- header file for implementation of MD5                    **
  4.  ** RSA Data Security, Inc. MD5 Message-Digest Algorithm              **
  5.  ** Created: 2/17/90 RLR                                              **
  6.  ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version               **
  7.  ** Revised (for MD5): RLR 4/27/91                                    **
  8.  **   -- G modified to have y&~z instead of y&z                       **
  9.  **   -- FF, GG, HH modified to add in last register done             **
  10.  **   -- Access pattern: round 2 works mod 5, round 3 works mod 3     **
  11.  **   -- distinct additive constant for each step                     **
  12.  **   -- round 4 added, working mod 7                                 **
  13.  ***********************************************************************
  14.  */
  15. /*
  16.  ***********************************************************************
  17.  ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved.  **
  18.  **                                                                   **
  19.  ** License to copy and use this software is granted provided that    **
  20.  ** it is identified as the "RSA Data Security, Inc. MD5 Message-     **
  21.  ** Digest Algorithm" in all material mentioning or referencing this  **
  22.  ** software or this function.                                        **
  23.  **                                                                   **
  24.  ** License is also granted to make and use derivative works          **
  25.  ** provided that such works are identified as "derived from the RSA  **
  26.  ** Data Security, Inc. MD5 Message-Digest Algorithm" in all          **
  27.  ** material mentioning or referencing the derived work.              **
  28.  **                                                                   **
  29.  ** RSA Data Security, Inc. makes no representations concerning       **
  30.  ** either the merchantability of this software or the suitability    **
  31.  ** of this software for any particular purpose.  It is provided "as  **
  32.  ** is" without express or implied warranty of any kind.              **
  33.  **                                                                   **
  34.  ** These notices must be retained in any copies of any part of this  **
  35.  ** documentation and/or software.                                    **
  36.  ***********************************************************************
  37.  */
  38. #ifndef MD5_H
  39. #define MD5_H
  40. /* Data structure for MD5 (Message-Digest) computation */
  41. typedef struct {
  42.   u32_t i[2];                   /* number of _bits_ handled mod 2^64 */
  43.   u32_t buf[4];                                    /* scratch buffer */
  44.   unsigned char in[64];                              /* input buffer */
  45.   unsigned char digest[16];     /* actual digest after MD5Final call */
  46. } MD5_CTX;
  47. void MD5Init (MD5_CTX *mdContext);
  48. void MD5Update (MD5_CTX *mdContext, unsigned char *inBuf, unsigned int inLen);
  49. void MD5Final (unsigned char hash[], MD5_CTX *mdContext);
  50. #endif /* MD5_H */