RMS SDK for C++  0.2.1
A client library for using Microsoft RMS from Linux.
ICryptoHash.h
1 /*
2  * ======================================================================
3  * Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
4  * Licensed under the MIT License.
5  * See LICENSE.md in the project root for license information.
6  * ======================================================================
7 */
8 
9 #ifndef _CRYPTO_STREAMS_LIB_ICRYPTOHASH
10 #define _CRYPTO_STREAMS_LIB_ICRYPTOHASH
11 #include <stdint.h>
12 namespace rmscrypto {
13 namespace api {
14 enum CryptoHashAlgorithm
15 {
16  CRYPTO_HASH_ALGORITHM_SHA1 = 0,
17  CRYPTO_HASH_ALGORITHM_SHA256 = 1,
18 };
19 
20 class ICryptoHash {
21 public:
22 
23  virtual size_t GetOutputSize() = 0;
24  virtual void Hash(const uint8_t *pbIn,
25  uint32_t cbIn,
26  uint8_t *pbOut,
27  uint32_t & cbOut) = 0;
28 };
29 } // namespace api
30 } // namespace rmscrypto
31 
32 #endif // _CRYPTO_STREAMS_LIB_ICRYPTOHASH
Definition: BlockBasedProtectedStream.cpp:13
Definition: ICryptoHash.h:20