userver: userver/utils/boost_uuid5.hpp Source File
Loading...
Searching...
No Matches
boost_uuid5.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/utils/boost_uuid5.hpp
4/// @brief @copybrief utils::generators::GenerateBoostUuidV5()
5
6#include <string_view>
7
8#include <boost/uuid/uuid.hpp>
9
10USERVER_NAMESPACE_BEGIN
11
12namespace utils::generators {
13
14/// RFC 9562 name-based UUID namespace IDs (same as boost::uuids::ns::*, see boost_uuid5.cpp).
15namespace ns {
16
17extern const boost::uuids::uuid kDns;
18extern const boost::uuids::uuid kUrl;
19extern const boost::uuids::uuid kOid;
20extern const boost::uuids::uuid kX500dn;
21
22} // namespace ns
23
24/// Generates UUIDv5 (name-based, SHA-1) for the given namespace and name
25///
26/// @see https://datatracker.ietf.org/doc/html/rfc9562#section-5.5
27boost::uuids::uuid GenerateBoostUuidV5(const boost::uuids::uuid& namespace_uuid, std::string_view name);
28
29} // namespace utils::generators
30
31USERVER_NAMESPACE_END