JUCE
Public Member Functions | List of all members
SHA256 Class Reference

SHA-256 secure hash generator. More...

Public Member Functions

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

Detailed Description

SHA-256 secure hash generator.

Create one of these objects from a block of source data or a stream, and it calculates the SHA-256 hash of that data.

You can retrieve the hash as a raw 32-byte block, or as a 64-digit hex string.

See also
MD5

Constructor & Destructor Documentation

◆ SHA256() [1/7]

SHA256::SHA256 ( )

Creates an empty SHA256 object.

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

◆ ~SHA256()

SHA256::~SHA256 ( )

Destructor.

◆ SHA256() [2/7]

SHA256::SHA256 ( const SHA256 )

Creates a copy of another SHA256.

◆ SHA256() [3/7]

SHA256::SHA256 ( const MemoryBlock data)
explicit

Creates a hash from a block of raw data.

◆ SHA256() [4/7]

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

Creates a hash from a block of raw data.

◆ SHA256() [5/7]

SHA256::SHA256 ( 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.

◆ SHA256() [6/7]

SHA256::SHA256 ( 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).

◆ SHA256() [7/7]

SHA256::SHA256 ( CharPointer_UTF8  utf8Text)
explicitnoexcept

Creates a checksum from a UTF-8 buffer.

E.g.

SHA256 checksum (myString.toUTF8());

Member Function Documentation

◆ operator=()

SHA256& SHA256::operator= ( const SHA256 )

Copies another SHA256.

◆ getRawData()

MemoryBlock SHA256::getRawData ( ) const

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

◆ toHexString()

String SHA256::toHexString ( ) const

Returns the checksum as a 64-digit hex string.

◆ operator==()

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

◆ operator!=()

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

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