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