/ OSX / libsecurity_apple_csp / lib / MD2Object.h
MD2Object.h
 1  /*
 2   * Copyright (c) 2000-2001,2011,2013-2014 Apple Inc. All Rights Reserved.
 3   * 
 4   * The contents of this file constitute Original Code as defined in and are
 5   * subject to the Apple Public Source License Version 1.2 (the 'License').
 6   * You may not use this file except in compliance with the License. Please obtain
 7   * a copy of the License at http://www.apple.com/publicsource and read it before
 8   * using this file.
 9   * 
10   * This Original Code and all software distributed under the License are
11   * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
12   * OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, INCLUDING WITHOUT
13   * LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14   * PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. Please see the License for the
15   * specific language governing rights and limitations under the License.
16   */
17  
18  
19  /*
20   * MD2Object.h - MD2 digest object
21   */
22  
23  #ifndef	_MD2_OBJECT_H_
24  #define _MD2_OBJECT_H_
25  
26  #include <security_cdsa_utilities/digestobject.h>
27  #include <CommonCrypto/CommonDigest.h>
28  
29  class MD2Object : public DigestObject
30  {
31  public:
32  	MD2Object() { }
33  	virtual ~MD2Object() { };
34  	virtual void digestInit();
35  	virtual void digestUpdate(
36  		const void 	*data, 
37  		size_t 		len);
38  	virtual void digestFinal(
39  		void 		*digest);
40  	virtual DigestObject *digestClone() const;
41  	virtual CSSM_SIZE digestSizeInBytes() const;
42  private:
43  	CC_MD2_CTX 		mCtx;
44  };
45  
46  #endif	/* _MD2_OBJECT_H_ */