sha.h
上传用户:ets1996
上传日期:2014-09-30
资源大小:353k
文件大小:3k
源码类别:

SNMP编程

开发平台:

Visual C++

  1. /*_############################################################################
  2.   _## 
  3.   _##  sha.h  
  4.   _##
  5.   _##  SNMP++v3.2.22
  6.   _##  -----------------------------------------------
  7.   _##  Copyright (c) 2001-2007 Jochen Katz, Frank Fock
  8.   _##
  9.   _##  This software is based on SNMP++2.6 from Hewlett Packard:
  10.   _##  
  11.   _##    Copyright (c) 1996
  12.   _##    Hewlett-Packard Company
  13.   _##  
  14.   _##  ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS.
  15.   _##  Permission to use, copy, modify, distribute and/or sell this software 
  16.   _##  and/or its documentation is hereby granted without fee. User agrees 
  17.   _##  to display the above copyright notice and this license notice in all 
  18.   _##  copies of the software and any documentation of the software. User 
  19.   _##  agrees to assume all liability for the use of the software; 
  20.   _##  Hewlett-Packard and Jochen Katz make no representations about the 
  21.   _##  suitability of this software for any purpose. It is provided 
  22.   _##  "AS-IS" without warranty of any kind, either express or implied. User 
  23.   _##  hereby grants a royalty-free license to any and all derivatives based
  24.   _##  upon this software code base. 
  25.   _##  
  26.   _##  Stuttgart, Germany, Wed May  2 23:22:30 CEST 2007 
  27.   _##  
  28.   _##########################################################################*/
  29. #include "snmp_pp/config_snmp_pp.h"
  30. #if !defined(_USE_LIBTOMCRYPT) && !defined(_USE_OPENSSL)
  31. // $Id: sha.h 287 2007-03-22 22:37:09Z katz $
  32. /****************************************************************
  33.  * SHS.h  -  Secure Hash Standard (draft) FIPS 180-1            *
  34.  *                                                              *
  35.  * Copyright (C) 1994  Uri Blumenthal, uri@watson.ibm.com       *
  36.  * Copyright (C) 1994  IBM T. J. Watson esearch Center          *
  37.  *                                                              *
  38.  * Feel free to use this code, as long as you acknowledge the   *
  39.  * ownership by U. Blumenthal and IBM Corp. and agree to hold   *
  40.  * both harmless in case of ANY problem you may have with this  *
  41.  * code.                                                        *
  42.  ****************************************************************/
  43. #ifdef SNMP_PP_NAMESPACE
  44. namespace Snmp_pp {
  45. #endif
  46. typedef struct {
  47.   /* Message Digest words */
  48.   unsigned long int h[5];
  49.   /* Message length in bits */
  50.   unsigned long int count[2];
  51.   /* Current byte position in not-full-yet buf */
  52.   int index;
  53.   /* Buffer for the remainder of bytes mod 64 */
  54.   unsigned char X[64];
  55. } SHA_CTX;
  56. DLLOPT void SHAInit(SHA_CTX *ctx);
  57. DLLOPT void SHAUpdate(SHA_CTX *ctx, const unsigned char *buf, unsigned int lenBuf);
  58. DLLOPT void SHAFinal(unsigned char *digest, SHA_CTX *ctx);
  59. #ifdef SNMP_PP_NAMESPACE
  60. } // end of namespace Snmp_pp
  61. #endif 
  62. #endif // !defined(_USE_LIBTOMCRYPT) && !defined(_USE_OPENSSL)