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