OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #ifndef WEBRTC_RTC_BASE_OPENSSLDIGEST_H_ | 11 #ifndef WEBRTC_RTC_BASE_OPENSSLDIGEST_H_ |
12 #define WEBRTC_RTC_BASE_OPENSSLDIGEST_H_ | 12 #define WEBRTC_RTC_BASE_OPENSSLDIGEST_H_ |
13 | 13 |
14 #include <openssl/evp.h> | 14 #include <openssl/evp.h> |
15 | 15 |
16 #include "webrtc/rtc_base/messagedigest.h" | 16 #include "webrtc/base/messagedigest.h" |
17 | 17 |
18 namespace rtc { | 18 namespace rtc { |
19 | 19 |
20 // An implementation of the digest class that uses OpenSSL. | 20 // An implementation of the digest class that uses OpenSSL. |
21 class OpenSSLDigest : public MessageDigest { | 21 class OpenSSLDigest : public MessageDigest { |
22 public: | 22 public: |
23 // Creates an OpenSSLDigest with |algorithm| as the hash algorithm. | 23 // Creates an OpenSSLDigest with |algorithm| as the hash algorithm. |
24 explicit OpenSSLDigest(const std::string& algorithm); | 24 explicit OpenSSLDigest(const std::string& algorithm); |
25 ~OpenSSLDigest() override; | 25 ~OpenSSLDigest() override; |
26 // Returns the digest output size (e.g. 16 bytes for MD5). | 26 // Returns the digest output size (e.g. 16 bytes for MD5). |
(...skipping 14 matching lines...) Expand all Loading... |
41 size_t* len); | 41 size_t* len); |
42 | 42 |
43 private: | 43 private: |
44 EVP_MD_CTX ctx_; | 44 EVP_MD_CTX ctx_; |
45 const EVP_MD* md_; | 45 const EVP_MD* md_; |
46 }; | 46 }; |
47 | 47 |
48 } // namespace rtc | 48 } // namespace rtc |
49 | 49 |
50 #endif // WEBRTC_RTC_BASE_OPENSSLDIGEST_H_ | 50 #endif // WEBRTC_RTC_BASE_OPENSSLDIGEST_H_ |
OLD | NEW |