Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
Shasum.hpp
1#pragma once
2
3#include <xrpl/basics/base_uint.h>
4#include <xrpl/protocol/digest.h>
5
6#include <cstddef>
7#include <string>
8#include <string_view>
9
10namespace util {
17ripple::uint256
18sha256sum(std::string_view s);
19
26std::string
27sha256sumString(std::string_view s);
28
35class Sha256sum {
36 ripple::sha256_hasher hasher_;
37
38public:
45 void
46 update(void const* data, size_t size);
47
53 template <typename T>
54 void
55 update(T const& value)
56 {
57 update(&value, sizeof(T));
58 }
59
65 ripple::uint256
66 finalize() &&;
67};
68
69} // namespace util
Streaming SHA-256 hasher for large data sets.
Definition Shasum.hpp:35
ripple::uint256 finalize() &&
Finalize hash and return result as ripple::uint256.
Definition Shasum.cpp:36
void update(T const &value)
Update hash with a value.
Definition Shasum.hpp:55
void update(void const *data, size_t size)
Update hash with data.
Definition Shasum.cpp:30
This namespace implements the data access layer and related components.
Definition AmendmentCenter.cpp:56
This namespace contains various utilities.
Definition AccountUtils.hpp:11
std::string sha256sumString(std::string_view s)
Calculates the SHA256 sum of a string and returns it as a hex string.
Definition Shasum.cpp:24
ripple::uint256 sha256sum(std::string_view s)
Calculates the SHA256 sum of a string.
Definition Shasum.cpp:13