JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::SHA256 Class Reference

SHA-256 secure hash generator. More...

#include <juce_SHA256.h>

Collaboration diagram for juce::SHA256:

Public Member Functions

 SHA256 ()
 Creates an empty SHA256 object. More...
 
 SHA256 (CharPointer_UTF8 utf8Text) noexcept
 Creates a checksum from a UTF-8 buffer. More...
 
 SHA256 (const File &file)
 Reads a file and generates the hash of its contents. More...
 
 SHA256 (const MemoryBlock &data)
 Creates a hash from a block of raw data. More...
 
 SHA256 (const SHA256 &)
 Creates a copy of another SHA256. 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 ()
 Destructor. More...
 
MemoryBlock getRawData () const
 Returns the hash as a 32-byte block of data. More...
 
bool operator!= (const SHA256 &) const noexcept
 
SHA256operator= (const SHA256 &)
 Copies another SHA256. More...
 
bool operator== (const SHA256 &) const noexcept
 
String toHexString () const
 Returns the checksum as a 64-digit hex string. More...
 

Private Member Functions

void process (const void *, size_t)
 

Private Attributes

uint8 result [32] = {}
 

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

@tags{Cryptography}

Constructor & Destructor Documentation

◆ SHA256() [1/7]

juce::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()

juce::SHA256::~SHA256 ( )

Destructor.

◆ SHA256() [2/7]

juce::SHA256::SHA256 ( const SHA256 )

Creates a copy of another SHA256.

◆ SHA256() [3/7]

juce::SHA256::SHA256 ( const MemoryBlock data)
explicit

Creates a hash from a block of raw data.

◆ SHA256() [4/7]

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

Creates a hash from a block of raw data.

◆ SHA256() [5/7]

juce::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]

juce::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]

juce::SHA256::SHA256 ( CharPointer_UTF8  utf8Text)
explicitnoexcept

Creates a checksum from a UTF-8 buffer.

E.g.

SHA256 checksum (myString.toUTF8());

Member Function Documentation

◆ getRawData()

MemoryBlock juce::SHA256::getRawData ( ) const

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

◆ operator!=()

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

◆ operator=()

SHA256& juce::SHA256::operator= ( const SHA256 )

Copies another SHA256.

◆ operator==()

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

◆ process()

void juce::SHA256::process ( const void *  ,
size_t   
)
private

◆ toHexString()

String juce::SHA256::toHexString ( ) const

Returns the checksum as a 64-digit hex string.

Member Data Documentation

◆ result

uint8 juce::SHA256::result[32] = {}
private

The documentation for this class was generated from the following file:
juce::SHA256::SHA256
SHA256()
Creates an empty SHA256 object.