Functions to compute SHA1 message digest according to the NIST specification FIPS-180-1.
More...
|
static uint32_t | swapBytes (uint32_t) |
| Swap bytes from internal to network (big-endian) order. More...
|
|
static void | set_uint32 (unsigned char *cp, uint32_t) |
| Copy the 4-byte value into the memory location pointed to by *dst. More...
|
|
Functions to compute SHA1 message digest according to the NIST specification FIPS-180-1.
Adapted from the gnulib implementation.
- See also
- Foam::SHA1Digest
- Source files
-
Definition at line 68 of file SHA1.H.
◆ SHA1() [1/3]
◆ SHA1() [2/3]
SHA1 |
( |
const std::string & |
str | ) |
|
|
inlineexplicit |
Construct null and append initial std::string.
Definition at line 37 of file SHA1I.H.
References clear().
◆ SHA1() [3/3]
Construct null and append initial string.
Definition at line 44 of file SHA1I.H.
References clear().
◆ swapBytes()
uint32_t swapBytes |
( |
uint32_t |
n | ) |
|
|
inlinestaticprivate |
Swap bytes from internal to network (big-endian) order.
Definition at line 57 of file SHA1.C.
References n, and x.
◆ set_uint32()
void set_uint32 |
( |
unsigned char * |
cp, |
|
|
uint32_t |
v |
|
) |
| |
|
inlinestaticprivate |
Copy the 4-byte value into the memory location pointed to by *dst.
If the architecture allows unaligned access this is equivalent to (uint32_t *) cp = val
Definition at line 95 of file SHA1.C.
References Foam::cp().
◆ processBlock()
void processBlock |
( |
const void * |
data, |
|
|
size_t |
len |
|
) |
| |
|
private |
Process data block-wise, LEN must be a multiple of 64!
Definition at line 183 of file SHA1.C.
References Foam::constant::physicoChemical::b, Foam::constant::universal::c, Foam::e, F1, F2, F3, F4, K1, K2, K3, K4, M, R, and x.
◆ processBytes()
void processBytes |
( |
const void * |
data, |
|
|
size_t |
len |
|
) |
| |
|
private |
Process for the next LEN bytes, LEN need not be a multiple of 64.
Definition at line 103 of file SHA1.C.
References Foam::add(), and clear().
◆ calcDigest()
◆ clear()
◆ append() [1/3]
Foam::SHA1 & append |
( |
const char * |
data, |
|
|
size_t |
len |
|
) |
| |
|
inline |
◆ append() [2/3]
Append string for processing.
Definition at line 60 of file SHA1I.H.
◆ append() [3/3]
Append string for processing.
Definition at line 67 of file SHA1I.H.
◆ finalize()
Finalized the calculations (normally not needed directly).
Returns false if no bytes were passed for processing
Definition at line 356 of file SHA1.C.
Referenced by SHA1::digest().
◆ digest()
◆ operator==() [1/4]
bool operator== |
( |
const SHA1 & |
rhs | ) |
const |
|
inline |
◆ operator==() [2/4]
Compare digest.
Definition at line 85 of file SHA1I.H.
◆ operator==() [3/4]
bool operator== |
( |
const std::string & |
hexdigits | ) |
const |
|
inline |
Compare digest to (40-byte) text representation (eg, from sha1sum)
An empty string is equivalent to "0000000000000000000000000000000000000000"
Definition at line 91 of file SHA1I.H.
◆ operator==() [4/4]
bool operator== |
( |
const char * |
hexdigits | ) |
const |
|
inline |
Compare digest to (40-byte) text representation (eg, from sha1sum)
A null or empty string is equivalent to "0000000000000000000000000000000000000000"
Definition at line 97 of file SHA1I.H.
◆ operator!=() [1/4]
bool operator!= |
( |
const SHA1 & |
rhs | ) |
const |
|
inline |
◆ operator!=() [2/4]
◆ operator!=() [3/4]
bool operator!= |
( |
const std::string & |
hexdigits | ) |
const |
|
inline |
◆ operator!=() [4/4]
bool operator!= |
( |
const char * |
hexdigits | ) |
const |
|
inline |
◆ operator SHA1Digest()
Convert to a SHA1Digest,.
calculate current digest from appended data
◆ operator<<
◆ finalized_
Track if the hashsum has been finalized (added count, etc)
Definition at line 73 of file SHA1.H.
◆ hashsumA_
The hash sums.
Definition at line 76 of file SHA1.H.
◆ hashsumB_
◆ hashsumC_
◆ hashsumD_
◆ hashsumE_
◆ bufTotal_
The total number processed, saved as 64-bit.
Definition at line 83 of file SHA1.H.
◆ bufLen_
The number of elements pending in the buffer.
Definition at line 86 of file SHA1.H.
◆ buffer_
The input processing buffer.
Definition at line 89 of file SHA1.H.
The documentation for this class was generated from the following files:
- src/OpenFOAM/primitives/hashes/SHA1/SHA1.H
- src/OpenFOAM/primitives/hashes/SHA1/SHA1.C
- src/OpenFOAM/primitives/hashes/SHA1/SHA1I.H