Public Member Functions | List of all members
Whirlpool Class Reference

Whirlpool hash class. More...

Public Member Functions

 Whirlpool () noexcept
 Creates an empty Whirlpool object. More...
 
 ~Whirlpool () noexcept
 Destructor. More...
 
 Whirlpool (const Whirlpool &other) noexcept
 Creates a copy of another Whirlpool. More...
 
Whirlpooloperator= (const Whirlpool &other) noexcept
 Copies another Whirlpool. More...
 
 Whirlpool (const MemoryBlock &)
 Creates a hash from a block of raw data. More...
 
 Whirlpool (const void *data, size_t numBytes)
 Creates a hash from a block of raw data. More...
 
 Whirlpool (InputStream &input, int64 maxBytesToRead=-1)
 Creates a hash from the contents of a stream. More...
 
 Whirlpool (const File &file)
 Reads a file and generates the hash of its contents. More...
 
 Whirlpool (CharPointer_UTF8 utf8Text) noexcept
 Creates a checksum from a UTF-8 buffer. More...
 
MemoryBlock getRawData () const
 Returns the hash as a 64-byte block of data. More...
 
String toHexString () const
 Returns the checksum as a 128-digit hex string. More...
 
bool operator== (const Whirlpool &) const noexcept
 
bool operator!= (const Whirlpool &) const noexcept
 

Detailed Description

Whirlpool hash class.

The Whirlpool algorithm was developed by Paulo S. L. M. Barreto and Vincent Rijmen.

See P.S.L.M. Barreto, V. Rijmen, "The Whirlpool hashing function" NESSIE submission, 2000 (tweaked version, 2001), https://www.cosic.esat.kuleuven.ac.be/nessie/workshop/submissions/whirlpool.zip

See also
SHA256, MD5

Constructor & Destructor Documentation

◆ Whirlpool() [1/7]

Whirlpool::Whirlpool ( )
noexcept

Creates an empty Whirlpool object.

The default constructor just creates a hash filled with zeros. (This is not equal to the hash of an empty block of data).

◆ ~Whirlpool()

Whirlpool::~Whirlpool ( )
noexcept

Destructor.

◆ Whirlpool() [2/7]

Whirlpool::Whirlpool ( const Whirlpool other)
noexcept

Creates a copy of another Whirlpool.

◆ Whirlpool() [3/7]

Whirlpool::Whirlpool ( const MemoryBlock )
explicit

Creates a hash from a block of raw data.

◆ Whirlpool() [4/7]

Whirlpool::Whirlpool ( const void *  data,
size_t  numBytes 
)

Creates a hash from a block of raw data.

◆ Whirlpool() [5/7]

Whirlpool::Whirlpool ( InputStream input,
int64  maxBytesToRead = -1 
)

Creates a hash from the contents of a stream.

This will read from the stream until the stream is exhausted, or until maxBytesToRead bytes have been read. If maxBytesToRead is negative, the entire stream will be read.

◆ Whirlpool() [6/7]

Whirlpool::Whirlpool ( const File file)
explicit

Reads a file and generates the hash of its contents.

If the file can't be opened, the hash will be left uninitialised (i.e. full of zeros).

◆ Whirlpool() [7/7]

Whirlpool::Whirlpool ( CharPointer_UTF8  utf8Text)
explicitnoexcept

Creates a checksum from a UTF-8 buffer.

E.g.

Whirlpool checksum (myString.toUTF8());

Member Function Documentation

◆ operator=()

Whirlpool& Whirlpool::operator= ( const Whirlpool other)
noexcept

Copies another Whirlpool.

◆ getRawData()

MemoryBlock Whirlpool::getRawData ( ) const

Returns the hash as a 64-byte block of data.

◆ toHexString()

String Whirlpool::toHexString ( ) const

Returns the checksum as a 128-digit hex string.

◆ operator==()

bool Whirlpool::operator== ( const Whirlpool ) const
noexcept

◆ operator!=()

bool Whirlpool::operator!= ( const Whirlpool ) const
noexcept

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