1f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org/*
2f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  Copyright 2012 The WebRTC Project Authors. All rights reserved.
3f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *
4f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  Use of this source code is governed by a BSD-style license
5f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  that can be found in the LICENSE file in the root of the source
6f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  tree. An additional intellectual property rights grant can be found
7f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  in the file PATENTS.  All contributing project authors may
8f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
9f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org */
10f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
11f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org#ifndef WEBRTC_BASE_MD5DIGEST_H_
12f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org#define WEBRTC_BASE_MD5DIGEST_H_
13f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
14f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org#include "webrtc/base/md5.h"
15f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org#include "webrtc/base/messagedigest.h"
16f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
17f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.orgnamespace rtc {
18f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
19f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org// A simple wrapper for our MD5 implementation.
20f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.orgclass Md5Digest : public MessageDigest {
21f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org public:
22f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  enum { kSize = 16 };
23f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  Md5Digest() {
24f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org    MD5Init(&ctx_);
25f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org  }
2667186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org  size_t Size() const override;
2767186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org  void Update(const void* buf, size_t len) override;
2867186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org  size_t Finish(void* buf, size_t len) override;
2967186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org
30f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org private:
31aaf61e460b7f24dca89c572b5b6c9af865775bb5Thiago Farina  MD5Context ctx_;
32f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org};
33f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
34f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org}  // namespace rtc
35f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org
36f048872e915a3ee229044ec4bc541f6cbf9e4de1henrike@webrtc.org#endif  // WEBRTC_BASE_MD5DIGEST_H_
37