My Project
Functions
Algorithms - SHA 128/224/256/384/512

Functions

int wc_ShaHash (const byte *data, word32 len, byte *hash)
 Convenience function, handles all the hashing and places the result into hash. More...
 
int wc_Sha256Hash (const byte *data, word32 len, byte *hash)
 Convenience function, handles all the hashing and places the result into hash. More...
 
int wc_Sha224Hash (const byte *data, word32 len, byte *hash)
 Convenience function, handles all the hashing and places the result into hash. More...
 
int wc_Sha512Hash (const byte *data, word32 len, byte *hash)
 Convenience function, handles all the hashing and places the result into hash. More...
 
int wc_Sha384Hash (const byte *data, word32 len, byte *hash)
 Convenience function, handles all the hashing and places the result into hash. More...
 
int wc_InitSha (wc_Sha *)
 This function initializes SHA. This is automatically called by wc_ShaHash. More...
 
int wc_ShaUpdate (wc_Sha *sha, const byte *data, word32 len)
 Can be called to continually hash the provided byte array of length len. More...
 
int wc_ShaFinal (wc_Sha *sha, byte *hash)
 Finalizes hashing of data. Result is placed into hash. Resets state of sha struct. More...
 
void wc_ShaFree (wc_Sha *)
 Used to clean up memory used by an initialized Sha struct. Note: this is only supported if you have WOLFSSL_TI_HASH defined. More...
 
int wc_ShaGetHash (wc_Sha *sha, byte *hash)
 Gets hash data. Result is placed into hash. Does not reset state of sha struct. More...
 
int wc_InitSha256 (wc_Sha256 *)
 This function initializes SHA256. This is automatically called by wc_Sha256Hash. More...
 
int wc_Sha256Update (wc_Sha256 *sha, const byte *data, word32 len)
 Can be called to continually hash the provided byte array of length len. More...
 
int wc_Sha256Final (wc_Sha256 *sha256, byte *hash)
 Finalizes hashing of data. Result is placed into hash. Resets state of sha256 struct. More...
 
void wc_Sha256Free (wc_Sha256 *)
 Resets the Sha256 structure. Note: this is only supported if you have WOLFSSL_TI_HASH defined. More...
 
int wc_Sha256GetHash (wc_Sha256 *sha256, byte *hash)
 Gets hash data. Result is placed into hash. Does not reset state of sha256 struct. More...
 
int wc_InitSha224 (wc_Sha224 *)
 Used to initialize a Sha224 struct. More...
 
int wc_Sha224Update (wc_Sha224 *sha224, const byte *data, word32 len)
 Can be called to continually hash the provided byte array of length len. More...
 
int wc_Sha224Final (wc_Sha224 *sha224, byte *hash)
 Finalizes hashing of data. Result is placed into hash. Resets state of sha224 struct. More...
 
int wc_InitSha512 (wc_Sha512 *)
 This function initializes SHA512. This is automatically called by wc_Sha512Hash. More...
 
int wc_Sha512Update (wc_Sha512 *sha, const byte *data, word32 len)
 Can be called to continually hash the provided byte array of length len. More...
 
int wc_Sha512Final (wc_Sha512 *sha512, byte *hash)
 Finalizes hashing of data. Result is placed into hash. More...
 
int wc_InitSha384 (wc_Sha384 *)
 This function initializes SHA384. This is automatically called by wc_Sha384Hash. More...
 
int wc_Sha384Update (wc_Sha384 *sha, const byte *data, word32 len)
 Can be called to continually hash the provided byte array of length len. More...
 
int wc_Sha384Final (wc_Sha384 *sha384, byte *hash)
 Finalizes hashing of data. Result is placed into hash. More...
 

Detailed Description

Function Documentation

◆ wc_InitSha()

int wc_InitSha ( wc_Sha *  )

This function initializes SHA. This is automatically called by wc_ShaHash.

Returns
0 Returned upon successfully initializing
Parameters
shapointer to the sha structure to use for encryption

Example

Sha sha[1];
if ((ret = wc_InitSha(sha)) != 0) {
WOLFSSL_MSG("wc_InitSha failed");
}
else {
wc_ShaUpdate(sha, data, len);
wc_ShaFinal(sha, hash);
}
See also
wc_ShaHash
wc_ShaUpdate
wc_ShaFinal

◆ wc_InitSha224()

int wc_InitSha224 ( wc_Sha224 *  )

Used to initialize a Sha224 struct.

Returns
0 Success
1 Error returned because sha224 is null.
Parameters
sha224Pointer to a Sha224 struct to initialize.

Example

Sha224 sha224;
if(wc_InitSha224(&sha224) != 0)
{
// Handle error
}
See also
wc_Sha224Hash
wc_Sha224Update
wc_Sha224Final

◆ wc_InitSha256()

int wc_InitSha256 ( wc_Sha256 *  )

This function initializes SHA256. This is automatically called by wc_Sha256Hash.

Returns
0 Returned upon successfully initializing
Parameters
sha256pointer to the sha256 structure to use for encryption

Example

Sha256 sha256[1];
if ((ret = wc_InitSha256(sha256)) != 0) {
WOLFSSL_MSG("wc_InitSha256 failed");
}
else {
wc_Sha256Update(sha256, data, len);
wc_Sha256Final(sha256, hash);
}
See also
wc_Sha256Hash
wc_Sha256Update
wc_Sha256Final

◆ wc_InitSha384()

int wc_InitSha384 ( wc_Sha384 *  )

This function initializes SHA384. This is automatically called by wc_Sha384Hash.

Returns
0 Returned upon successfully initializing
Parameters
sha384pointer to the sha384 structure to use for encryption

Example

Sha384 sha384[1];
if ((ret = wc_InitSha384(sha384)) != 0) {
WOLFSSL_MSG("wc_InitSha384 failed");
}
else {
wc_Sha384Update(sha384, data, len);
wc_Sha384Final(sha384, hash);
}
See also
wc_Sha384Hash
wc_Sha384Update
wc_Sha384Final

◆ wc_InitSha512()

int wc_InitSha512 ( wc_Sha512 *  )

This function initializes SHA512. This is automatically called by wc_Sha512Hash.

Returns
0 Returned upon successfully initializing
Parameters
sha512pointer to the sha512 structure to use for encryption

Example

Sha512 sha512[1];
if ((ret = wc_InitSha512(sha512)) != 0) {
WOLFSSL_MSG("wc_InitSha512 failed");
}
else {
wc_Sha512Update(sha512, data, len);
wc_Sha512Final(sha512, hash);
}
See also
wc_Sha512Hash
wc_Sha512Update
wc_Sha512Final

◆ wc_Sha224Final()

int wc_Sha224Final ( wc_Sha224 *  sha224,
byte *  hash 
)

Finalizes hashing of data. Result is placed into hash. Resets state of sha224 struct.

Returns
0 Success
<0 Error
Parameters
sha224pointer to the sha224 structure to use for encryption
hashByte array to hold hash value.

Example

Sha224 sha224;
byte data[] = { /* Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha224(&sha224)) != 0) {
WOLFSSL_MSG("wc_InitSha224 failed");
}
else {
wc_Sha224Update(&sha224, data, len);
wc_Sha224Final(&sha224, hash);
}
See also
wc_InitSha224
wc_Sha224Hash
wc_Sha224Update

◆ wc_Sha224Hash()

int wc_Sha224Hash ( const byte *  data,
word32  len,
byte *  hash 
)

Convenience function, handles all the hashing and places the result into hash.

Returns
0 Success
<0 Error
Parameters
datathe data to hash
lenthe length of data
hashByte array to hold hash value.

Example

none
See also
wc_InitSha224
wc_Sha224Update
wc_Sha224Final

◆ wc_Sha224Update()

int wc_Sha224Update ( wc_Sha224 *  sha224,
const byte *  data,
word32  len 
)

Can be called to continually hash the provided byte array of length len.

Returns
0 Success
1 Error returned if function fails.
BAD_FUNC_ARG Error returned if sha224 or data is null.
Parameters
sha224Pointer to the Sha224 structure to use for encryption.
dataData to be hashed.
lenLength of data to be hashed.

Example

Sha224 sha224;
byte data[] = { /* Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha224(&sha224)) != 0) {
WOLFSSL_MSG("wc_InitSha224 failed");
}
else {
wc_Sha224Update(&sha224, data, len);
wc_Sha224Final(&sha224, hash);
}
See also
wc_InitSha224
wc_Sha224Final
wc_Sha224Hash

◆ wc_Sha256Final()

int wc_Sha256Final ( wc_Sha256 *  sha256,
byte *  hash 
)

Finalizes hashing of data. Result is placed into hash. Resets state of sha256 struct.

Returns
0 Returned upon successfully finalizing.
Parameters
sha256pointer to the sha256 structure to use for encryption
hashByte array to hold hash value.

Example

Sha256 sha256[1];
byte data[] = { Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha256(sha256)) != 0) {
WOLFSSL_MSG("wc_InitSha256 failed");
}
else {
wc_Sha256Update(sha256, data, len);
wc_Sha256Final(sha256, hash);
}
See also
wc_Sha256Hash
wc_Sha256GetHash
wc_InitSha256

◆ wc_Sha256Free()

void wc_Sha256Free ( wc_Sha256 *  )

Resets the Sha256 structure. Note: this is only supported if you have WOLFSSL_TI_HASH defined.

Returns
none No returns.
Parameters
sha256Pointer to the sha256 structure to be freed.

Example

Sha256 sha256;
byte data[] = { Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha256(&sha256)) != 0) {
WOLFSSL_MSG("wc_InitSha256 failed");
}
else {
wc_Sha256Update(&sha256, data, len);
wc_Sha256Final(&sha256, hash);
wc_Sha256Free(&sha256);
}
See also
wc_InitSha256
wc_Sha256Update
wc_Sha256Final

◆ wc_Sha256GetHash()

int wc_Sha256GetHash ( wc_Sha256 *  sha256,
byte *  hash 
)

Gets hash data. Result is placed into hash. Does not reset state of sha256 struct.

Returns
0 Returned upon successfully finalizing.
Parameters
sha256pointer to the sha256 structure to use for encryption
hashByte array to hold hash value.

Example

Sha256 sha256[1];
if ((ret = wc_InitSha256(sha256)) != 0) {
WOLFSSL_MSG("wc_InitSha256 failed");
}
else {
wc_Sha256Update(sha256, data, len);
wc_Sha256GetHash(sha256, hash);
}
See also
wc_Sha256Hash
wc_Sha256Final
wc_InitSha256

◆ wc_Sha256Hash()

int wc_Sha256Hash ( const byte *  data,
word32  len,
byte *  hash 
)

Convenience function, handles all the hashing and places the result into hash.

Returns
0 Returned upon successfully …
Memory_E memory error, unable to allocate memory. This is only possible with the small stack option enabled.
Parameters
datathe data to hash
lenthe length of data
hashByte array to hold hash value.

Example

none
See also
wc_Sha256Hash
wc_Sha256Final
wc_InitSha256

◆ wc_Sha256Update()

int wc_Sha256Update ( wc_Sha256 *  sha,
const byte *  data,
word32  len 
)

Can be called to continually hash the provided byte array of length len.

Returns
0 Returned upon successfully adding the data to the digest.
Parameters
sha256pointer to the sha256 structure to use for encryption
datathe data to be hashed
lenlength of data to be hashed

Example

Sha256 sha256[1];
byte data[] = { Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha256(sha256)) != 0) {
WOLFSSL_MSG("wc_InitSha256 failed");
}
else {
wc_Sha256Update(sha256, data, len);
wc_Sha256Final(sha256, hash);
}
See also
wc_Sha256Hash
wc_Sha256Final
wc_InitSha256

◆ wc_Sha384Final()

int wc_Sha384Final ( wc_Sha384 *  sha384,
byte *  hash 
)

Finalizes hashing of data. Result is placed into hash.

Returns
0 Returned upon successfully finalizing.
Parameters
sha384pointer to the sha384 structure to use for encryption
hashByte array to hold hash value.

Example

Sha384 sha384[1];
byte data[] = { Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha384(sha384)) != 0) {
WOLFSSL_MSG("wc_InitSha384 failed");
}
else {
wc_Sha384Update(sha384, data, len);
wc_Sha384Final(sha384, hash);
}
See also
wc_Sha384Hash
wc_Sha384Final
wc_InitSha384

◆ wc_Sha384Hash()

int wc_Sha384Hash ( const byte *  data,
word32  len,
byte *  hash 
)

Convenience function, handles all the hashing and places the result into hash.

Returns
0 Returned upon successfully hashing the data
Memory_E memory error, unable to allocate memory. This is only possible with the small stack option enabled.
Parameters
datathe data to hash
lenthe length of data
hashByte array to hold hash value.

Example

none
See also
wc_Sha384Hash
wc_Sha384Final
wc_InitSha384

◆ wc_Sha384Update()

int wc_Sha384Update ( wc_Sha384 *  sha,
const byte *  data,
word32  len 
)

Can be called to continually hash the provided byte array of length len.

Returns
0 Returned upon successfully adding the data to the digest.
Parameters
sha384pointer to the sha384 structure to use for encryption
datathe data to be hashed
lenlength of data to be hashed

Example

Sha384 sha384[1];
byte data[] = { Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha384(sha384)) != 0) {
WOLFSSL_MSG("wc_InitSha384 failed");
}
else {
wc_Sha384Update(sha384, data, len);
wc_Sha384Final(sha384, hash);
}
See also
wc_Sha384Hash
wc_Sha384Final
wc_InitSha384

◆ wc_Sha512Final()

int wc_Sha512Final ( wc_Sha512 *  sha512,
byte *  hash 
)

Finalizes hashing of data. Result is placed into hash.

Returns
0 Returned upon successfully finalizing the hash.
Parameters
sha512pointer to the sha512 structure to use for encryption
hashByte array to hold hash value.

Example

Sha512 sha512[1];
byte data[] = { Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha512(sha512)) != 0) {
WOLFSSL_MSG("wc_InitSha512 failed");
}
else {
wc_Sha512Update(sha512, data, len);
wc_Sha512Final(sha512, hash);
}
See also
wc_Sha512Hash
wc_Sha512Final
wc_InitSha512

◆ wc_Sha512Hash()

int wc_Sha512Hash ( const byte *  data,
word32  len,
byte *  hash 
)

Convenience function, handles all the hashing and places the result into hash.

Returns
0 Returned upon successfully hashing the inputted data
Memory_E memory error, unable to allocate memory. This is only possible with the small stack option enabled.
Parameters
datathe data to hash
lenthe length of data
hashByte array to hold hash value.

Example

none
See also
wc_Sha512Hash
wc_Sha512Final
wc_InitSha512

◆ wc_Sha512Update()

int wc_Sha512Update ( wc_Sha512 *  sha,
const byte *  data,
word32  len 
)

Can be called to continually hash the provided byte array of length len.

Returns
0 Returned upon successfully adding the data to the digest.
Parameters
sha512pointer to the sha512 structure to use for encryption
datathe data to be hashed
lenlength of data to be hashed

Example

Sha512 sha512[1];
byte data[] = { Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha512(sha512)) != 0) {
WOLFSSL_MSG("wc_InitSha512 failed");
}
else {
wc_Sha512Update(sha512, data, len);
wc_Sha512Final(sha512, hash);
}
See also
wc_Sha512Hash
wc_Sha512Final
wc_InitSha512

◆ wc_ShaFinal()

int wc_ShaFinal ( wc_Sha *  sha,
byte *  hash 
)

Finalizes hashing of data. Result is placed into hash. Resets state of sha struct.

Returns
0 Returned upon successfully finalizing.
Parameters
shapointer to the sha structure to use for encryption
hashByte array to hold hash value.

Example

Sha sha[1];
byte data[] = { Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha(sha)) != 0) {
WOLFSSL_MSG("wc_InitSha failed");
}
else {
wc_ShaUpdate(sha, data, len);
wc_ShaFinal(sha, hash);
}
See also
wc_ShaHash
wc_InitSha
wc_ShaGetHash

◆ wc_ShaFree()

void wc_ShaFree ( wc_Sha *  )

Used to clean up memory used by an initialized Sha struct. Note: this is only supported if you have WOLFSSL_TI_HASH defined.

Returns
No returns.
Parameters
shaPointer to the Sha struct to free.

Example

Sha sha;
wc_InitSha(&sha);
// Use sha
wc_ShaFree(&sha);
See also
wc_InitSha
wc_ShaUpdate
wc_ShaFinal

◆ wc_ShaGetHash()

int wc_ShaGetHash ( wc_Sha *  sha,
byte *  hash 
)

Gets hash data. Result is placed into hash. Does not reset state of sha struct.

Returns
0 Returned upon successfully finalizing.
Parameters
shapointer to the sha structure to use for encryption
hashByte array to hold hash value.

Example

Sha sha[1];
if ((ret = wc_InitSha(sha)) != 0) {
WOLFSSL_MSG("wc_InitSha failed");
}
else {
wc_ShaUpdate(sha, data, len);
wc_ShaGetHash(sha, hash);
}
See also
wc_ShaHash
wc_ShaFinal
wc_InitSha

◆ wc_ShaHash()

int wc_ShaHash ( const byte *  data,
word32  len,
byte *  hash 
)

Convenience function, handles all the hashing and places the result into hash.

Returns
0 Returned upon successfully ….
Memory_E memory error, unable to allocate memory. This is only possible with the small stack option enabled.
Parameters
datathe data to hash
lenthe length of data
hashByte array to hold hash value.

Example

none
See also
wc_ShaHash
wc_ShaFinal
wc_InitSha

◆ wc_ShaUpdate()

int wc_ShaUpdate ( wc_Sha *  sha,
const byte *  data,
word32  len 
)

Can be called to continually hash the provided byte array of length len.

Returns
0 Returned upon successfully adding the data to the digest.
Parameters
shapointer to the sha structure to use for encryption
datathe data to be hashed
lenlength of data to be hashed

Example

Sha sha[1];
byte data[] = { // Data to be hashed };
word32 len = sizeof(data);
if ((ret = wc_InitSha(sha)) != 0) {
WOLFSSL_MSG("wc_InitSha failed");
}
else {
wc_ShaUpdate(sha, data, len);
wc_ShaFinal(sha, hash);
}
See also
wc_ShaHash
wc_ShaFinal
wc_InitSha
wc_Sha384Update
int wc_Sha384Update(wc_Sha384 *sha, const byte *data, word32 len)
Can be called to continually hash the provided byte array of length len.
wc_Sha256Free
void wc_Sha256Free(wc_Sha256 *)
Resets the Sha256 structure. Note: this is only supported if you have WOLFSSL_TI_HASH defined.
wc_InitSha
int wc_InitSha(wc_Sha *)
This function initializes SHA. This is automatically called by wc_ShaHash.
wc_ShaFinal
int wc_ShaFinal(wc_Sha *sha, byte *hash)
Finalizes hashing of data. Result is placed into hash. Resets state of sha struct.
wc_Sha512Update
int wc_Sha512Update(wc_Sha512 *sha, const byte *data, word32 len)
Can be called to continually hash the provided byte array of length len.
wc_ShaFree
void wc_ShaFree(wc_Sha *)
Used to clean up memory used by an initialized Sha struct. Note: this is only supported if you have W...
wc_Sha256Final
int wc_Sha256Final(wc_Sha256 *sha256, byte *hash)
Finalizes hashing of data. Result is placed into hash. Resets state of sha256 struct.
wc_Sha512Final
int wc_Sha512Final(wc_Sha512 *sha512, byte *hash)
Finalizes hashing of data. Result is placed into hash.
wc_Sha256GetHash
int wc_Sha256GetHash(wc_Sha256 *sha256, byte *hash)
Gets hash data. Result is placed into hash. Does not reset state of sha256 struct.
wc_ShaUpdate
int wc_ShaUpdate(wc_Sha *sha, const byte *data, word32 len)
Can be called to continually hash the provided byte array of length len.
wc_InitSha224
int wc_InitSha224(wc_Sha224 *)
Used to initialize a Sha224 struct.
wc_ShaGetHash
int wc_ShaGetHash(wc_Sha *sha, byte *hash)
Gets hash data. Result is placed into hash. Does not reset state of sha struct.
wc_Sha256Update
int wc_Sha256Update(wc_Sha256 *sha, const byte *data, word32 len)
Can be called to continually hash the provided byte array of length len.
wc_InitSha384
int wc_InitSha384(wc_Sha384 *)
This function initializes SHA384. This is automatically called by wc_Sha384Hash.
wc_InitSha512
int wc_InitSha512(wc_Sha512 *)
This function initializes SHA512. This is automatically called by wc_Sha512Hash.
wc_Sha384Final
int wc_Sha384Final(wc_Sha384 *sha384, byte *hash)
Finalizes hashing of data. Result is placed into hash.
wc_InitSha256
int wc_InitSha256(wc_Sha256 *)
This function initializes SHA256. This is automatically called by wc_Sha256Hash.