1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/safe_browsing/incident_reporting/incident_handler_util.h"
6
7#include <string>
8
9#include "base/hash.h"
10#include "base/logging.h"
11#include "third_party/protobuf/src/google/protobuf/message_lite.h"
12
13namespace safe_browsing {
14
15// Computes a simple hash digest over the serialized form of |message|.
16// |message| must be in a canonical form.
17uint32_t HashMessage(const google::protobuf::MessageLite& message) {
18  std::string message_string;
19  if (!message.SerializeToString(&message_string)) {
20    NOTREACHED();
21    return 0;
22  }
23  return base::Hash(message_string);
24}
25
26}  // namespace safe_browsing
27