// Copyright (c) 2012 The Chromium Authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.#include "base/guid.h"#include "base/rand_util.h"#include "base/strings/stringprintf.h"namespacebase{std::stringGenerateGUID(){uint64_tsixteen_bytes[2]={base::RandUint64(),base::RandUint64()};returnRandomDataToGUIDString(sixteen_bytes);}// TODO(cmasone): Once we're comfortable this works, migrate Windows code to// use this as well.std::stringRandomDataToGUIDString(constuint64_tbytes[2]){returnStringPrintf("%08X-%04X-%04X-%04X-%012llX",static_cast<unsignedint>(bytes[0]>>32),static_cast<unsignedint>((bytes[0]>>16)&0x0000ffff),static_cast<unsignedint>(bytes[0]&0x0000ffff),static_cast<unsignedint>(bytes[1]>>48),bytes[1]&0x0000ffffffffffffULL);}}// namespace guid