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 13 namespace safe_browsing { 14 15 // Computes a simple hash digest over the serialized form of |message|. 16 // |message| must be in a canonical form. 17 uint32_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