167186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org/*
267186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org *  Copyright 2015 The WebRTC Project Authors. All rights reserved.
367186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org *
467186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org *  Use of this source code is governed by a BSD-style license
567186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org *  that can be found in the LICENSE file in the root of the source
667186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org *  tree. An additional intellectual property rights grant can be found
767186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org *  in the file PATENTS.  All contributing project authors may
867186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
967186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org */
1067186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org
1167186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org#include "webrtc/base/md5digest.h"
1267186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org
1367186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.orgnamespace rtc {
1467186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org
1567186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.orgsize_t Md5Digest::Size() const {
1667186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org  return kSize;
1767186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org}
1867186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org
1967186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.orgvoid Md5Digest::Update(const void* buf, size_t len) {
200c4e06b4c6107a1b94f764e279e4fb4161e905b0Peter Boström  MD5Update(&ctx_, static_cast<const uint8_t*>(buf), len);
2167186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org}
2267186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org
2367186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.orgsize_t Md5Digest::Finish(void* buf, size_t len) {
2467186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org  if (len < kSize) {
2567186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org    return 0;
2667186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org  }
270c4e06b4c6107a1b94f764e279e4fb4161e905b0Peter Boström  MD5Final(&ctx_, static_cast<uint8_t*>(buf));
2867186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org  MD5Init(&ctx_);  // Reset for next use.
2967186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org  return kSize;
3067186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org}
3167186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org
3267186fe00cc68cbe03aa66d17fb4962458ca96d2kwiberg@webrtc.org};  // namespace rtc
33