Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
Cryptography/Format.h
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#ifndef _Stroika_Foundation_Cryptography_Format_h_
5#define _Stroika_Foundation_Cryptography_Format_h_ 1
6
7#include "Stroika/Foundation/StroikaPreComp.h"
8
9#include <array>
10#include <cstdint>
11
13#include "Stroika/Foundation/Common/Common.h"
15
16/*
17 * \note Code-Status: <a href="Code-Status.md#Alpha">Alpha</a>
18 *
19 * TODO:
20 * @todo Consider renaming this module FormatResult
21 */
22
23namespace Stroika::Foundation::Cryptography {
24
25 /**
26 * Generally, this Format function is used to take a BLOB and render it as a hex string.
27 *
28 * CRYTO_RESULT_TO_FORMAT_TYPE can be
29 * o any of the uintN types (e.g. uint16_t, etc)
30 * o any of the defined std::array<> types defined in Digest/ResultTypes.h.
31 * o Memory::BLOB
32 *
33 * AS_RESULT_TYPE can be:
34 * o Common::GUID
35 * o Characters::String
36 * o std::string
37 */
38 template <typename AS_RESULT_TYPE, typename CRYTO_RESULT_TO_FORMAT_TYPE>
39 AS_RESULT_TYPE Format (const CRYTO_RESULT_TO_FORMAT_TYPE& digestResult);
40
41}
42
43/*
44 ********************************************************************************
45 ***************************** Implementation Details ***************************
46 ********************************************************************************
47 */
48#include "Format.inl"
49
50#endif /*_Stroika_Foundation_Cryptography_Format_h_*/