#include <sha256.h>
A SHA256 context.
Definition at line 19 of file sha256.h.
|
| Context () |
| Construct a SHA256 context. More...
|
|
void | reset () |
| Reset the SHA256 context. More...
|
|
void | update (uint8_t const *buffer, size_t buffer_size) |
| Add data to the SHA256 context. More...
|
|
void | update (const std::string &buffer) |
| Add data to the SHA256 context. More...
|
|
Hash | finalize () |
| Performs the final calculation of the hash and returns the digest (32 byte buffer containing 256bit hash). More...
|
|
◆ Context()
smash::sha256::Context::Context |
( |
| ) |
|
|
inline |
Construct a SHA256 context.
Definition at line 37 of file sha256.h.
◆ transform_function()
void smash::sha256::Context::transform_function |
( |
uint8_t const * |
buffer | ) |
|
|
private |
Compress 512-bits.
Definition at line 95 of file sha256.cc.
104 for (i = 0; i < 8; i++) {
109 for (i = 0; i < 16; i++) {
110 LOAD32H(W[i], buffer + (4 * i));
114 for (i = 16; i < 64; i++) {
115 W[i] =
Gamma1(W[i - 2]) + W[i - 7] +
Gamma0(W[i - 15]) + W[i - 16];
119 for (i = 0; i < 64; i++) {
133 for (i = 0; i < 8; i++) {
◆ reset()
void smash::sha256::Context::reset |
( |
| ) |
|
Reset the SHA256 context.
Definition at line 140 of file sha256.cc.
◆ update() [1/2]
void smash::sha256::Context::update |
( |
uint8_t const * |
buffer, |
|
|
size_t |
buffer_size |
|
) |
| |
Add data to the SHA256 context.
This will process the data and update the internal state of the context. Keep on calling this function until all the data has been added. Then call finalize
to calculate the hash.
Definition at line 153 of file sha256.cc.
160 while (buffer_size > 0) {
◆ update() [2/2]
void smash::sha256::Context::update |
( |
const std::string & |
buffer | ) |
|
Add data to the SHA256 context.
This will process the data and update the internal state of the context. Keep on calling this function until all the data has been added. Then call finalize
to calculate the hash.
Definition at line 181 of file sha256.cc.
182 update(reinterpret_cast<const uint8_t*>(buffer.c_str()), buffer.size());
◆ finalize()
Hash smash::sha256::Context::finalize |
( |
| ) |
|
Performs the final calculation of the hash and returns the digest (32 byte buffer containing 256bit hash).
After calling this, reset
must be used to reuse the context.
Definition at line 185 of file sha256.cc.
218 for (
int i = 0; i < 8; i++) {
◆ length_
uint64_t smash::sha256::Context::length_ |
|
private |
Length of the SHA256 hash.
Definition at line 22 of file sha256.h.
◆ state_
uint32_t smash::sha256::Context::state_[8] |
|
private |
State of the SHA256 hash.
Definition at line 24 of file sha256.h.
◆ curlen_
size_t smash::sha256::Context::curlen_ |
|
private |
Current length of the SHA256 hash.
Definition at line 26 of file sha256.h.
◆ buf_
uint8_t smash::sha256::Context::buf_[64] |
|
private |
Buffer of the SHA256 hash.
Definition at line 28 of file sha256.h.
The documentation for this class was generated from the following files: