1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
5 #include "cmConfigure.h" // IWYU pragma: keep
11 * \brief Utility class to generate UUIDs as defined by RFC4122
17 std::string FromMd5(std::vector<unsigned char> const& uuidNamespace,
18 std::string const& name) const;
20 std::string FromSha1(std::vector<unsigned char> const& uuidNamespace,
21 std::string const& name) const;
23 bool StringToBinary(std::string const& input,
24 std::vector<unsigned char>& output) const;
27 std::string ByteToHex(unsigned char byte) const;
29 void CreateHashInput(std::vector<unsigned char> const& uuidNamespace,
30 std::string const& name,
31 std::vector<unsigned char>& output) const;
33 std::string FromDigest(const unsigned char* digest,
34 unsigned char version) const;
36 bool StringToBinaryImpl(std::string const& input,
37 std::vector<unsigned char>& output) const;
39 std::string BinaryToString(const unsigned char* input) const;
41 bool IntFromHexDigit(char input, char& output) const;