Bitcoin Core  27.99.0
P2P Digital Currency
Public Member Functions | Private Attributes | List of all members
CSipHasher Class Reference

SipHash-2-4. More...

#include <siphash.h>

Public Member Functions

 CSipHasher (uint64_t k0, uint64_t k1)
 Construct a SipHash calculator initialized with 128-bit key (k0, k1) More...
 
CSipHasherWrite (uint64_t data)
 Hash a 64-bit integer worth of data It is treated as if this was the little-endian interpretation of 8 bytes. More...
 
CSipHasherWrite (Span< const unsigned char > data)
 Hash arbitrary bytes. More...
 
uint64_t Finalize () const
 Compute the 64-bit SipHash-2-4 of the data written so far. More...
 

Private Attributes

uint64_t v [4]
 
uint64_t tmp
 
uint8_t count
 

Detailed Description

SipHash-2-4.

Definition at line 14 of file siphash.h.

Constructor & Destructor Documentation

◆ CSipHasher()

CSipHasher::CSipHasher ( uint64_t  k0,
uint64_t  k1 
)

Construct a SipHash calculator initialized with 128-bit key (k0, k1)

Definition at line 18 of file siphash.cpp.

Member Function Documentation

◆ Finalize()

uint64_t CSipHasher::Finalize ( ) const

Compute the 64-bit SipHash-2-4 of the data written so far.

The object remains untouched.

Definition at line 77 of file siphash.cpp.

Here is the caller graph for this function:

◆ Write() [1/2]

CSipHasher & CSipHasher::Write ( Span< const unsigned char >  data)

Hash arbitrary bytes.

Definition at line 48 of file siphash.cpp.

Here is the call graph for this function:

◆ Write() [2/2]

CSipHasher & CSipHasher::Write ( uint64_t  data)

Hash a 64-bit integer worth of data It is treated as if this was the little-endian interpretation of 8 bytes.

This function can only be used when a multiple of 8 bytes have been written so far.

Definition at line 28 of file siphash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ count

uint8_t CSipHasher::count
private

Definition at line 19 of file siphash.h.

◆ tmp

uint64_t CSipHasher::tmp
private

Definition at line 18 of file siphash.h.

◆ v

uint64_t CSipHasher::v[4]
private

Definition at line 17 of file siphash.h.


The documentation for this class was generated from the following files: