RESTinio
Loading...
Searching...
No Matches
sha1.hpp File Reference
#include <restinio/utils/impl/bitops.hpp>
#include <string>
#include <array>
#include <exception>
#include <iostream>
#include <algorithm>

Go to the source code of this file.

Classes

struct  restinio::utils::sha1::builder_t

Namespaces

namespace  restinio
namespace  restinio::utils
namespace  restinio::utils::sha1
namespace  restinio::utils::sha1::details

Typedefs

using restinio::utils::sha1::byte_block_t = std::array< std::uint8_t, block_size >
using restinio::utils::sha1::int_block_t = std::array< std::uint32_t, block_ints >
using restinio::utils::sha1::digest_t = std::array< std::uint32_t, digest_array_size >

Functions

template<class T>
std::uint8_t restinio::utils::sha1::as_uint8 (T what)
template<class T>
std::uint32_t restinio::utils::sha1::as_uint32 (T what)
template<class T>
const std::uint8_t * restinio::utils::sha1::as_uint8_ptr (const T *what)
template<unsigned int Shift>
std::uint32_t restinio::utils::sha1::rotate_left (const std::uint32_t x)
template<unsigned int Shift>
std::uint8_t restinio::utils::sha1::octet_from (std::uint32_t x)
void restinio::utils::sha1::R0 (const int_block_t &block, const uint32_t v, uint32_t &w, const uint32_t x, const uint32_t y, uint32_t &z, const size_t i)
void restinio::utils::sha1::R1 (int_block_t &block, const uint32_t v, uint32_t &w, const uint32_t x, const uint32_t y, uint32_t &z, const size_t i)
void restinio::utils::sha1::R2 (int_block_t &block, const uint32_t v, uint32_t &w, const uint32_t x, const uint32_t y, uint32_t &z, const size_t i)
void restinio::utils::sha1::R3 (int_block_t &block, const uint32_t v, uint32_t &w, const uint32_t x, const uint32_t y, uint32_t &z, const size_t i)
void restinio::utils::sha1::R4 (int_block_t &block, const uint32_t v, uint32_t &w, const uint32_t x, const uint32_t y, uint32_t &z, const size_t i)
void restinio::utils::sha1::transform (digest_t &digest, const byte_block_t &buf)
template<unsigned int Shift>
unsigned int restinio::utils::sha1::details::halfbyte (digest_t::value_type v)
template<unsigned int Shift>
unsigned int restinio::utils::sha1::details::byte (digest_t::value_type v)
std::string restinio::utils::sha1::to_hex_string (const digest_t &what)
std::string restinio::utils::sha1::to_string (const digest_t &what)
digest_t restinio::utils::sha1::make_digest (const std::uint8_t *what, std::size_t length)
template<class T>
digest_t restinio::utils::sha1::make_digest (const T *begin, const T *end)
digest_t restinio::utils::sha1::make_digest (const char *what, std::size_t length)
digest_t restinio::utils::sha1::make_digest (string_view_t sv)

Variables

constexpr std::uint8_t restinio::utils::sha1::block_size = 64
constexpr std::uint8_t restinio::utils::sha1::block_ints = 16
constexpr std::uint8_t restinio::utils::sha1::word_size = 4
constexpr std::uint8_t restinio::utils::sha1::digest_size = 20
constexpr std::size_t restinio::utils::sha1::digest_array_size = digest_size / word_size