My Project
Loading...
Searching...
No Matches
Algorithms - SHA 128/224/256/384/512

Functions

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

Detailed Description

Function Documentation

◆ wc_InitSha()

int wc_InitSha ( wc_Sha * 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);
}
WOLFSSL_API int wc_InitSha(wc_Sha *)
This function initializes SHA. This is automatically called by wc_ShaHash.
Definition sha.c:773
WOLFSSL_API int wc_ShaFinal(wc_Sha *, byte *)
Finalizes hashing of data. Result is placed into hash. Resets state of sha struct.
Definition sha.c:148
WOLFSSL_API int wc_ShaUpdate(wc_Sha *, const byte *, word32)
Can be called to continually hash the provided byte array of length len.
Definition sha.c:131
See also
wc_ShaHash
wc_ShaUpdate
wc_ShaFinal

◆ wc_InitSha224()

WOLFSSL_API int wc_InitSha224 ( wc_Sha224 * 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
}
WOLFSSL_API int wc_InitSha224(wc_Sha224 *)
Used to initialize a Sha224 struct.
Definition armv8-sha256.c:1419
See also
wc_Sha224Hash
wc_Sha224Update
wc_Sha224Final

◆ wc_InitSha256()

int wc_InitSha256 ( wc_Sha256 * 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_InitSha356(sha256)) != 0) {
WOLFSSL_MSG("wc_InitSha256 failed");
}
else {
wc_Sha256Update(sha256, data, len);
wc_Sha256Final(sha256, hash);
}
WOLFSSL_API int wc_Sha256Final(wc_Sha256 *, byte *)
Finalizes hashing of data. Result is placed into hash. Resets state of sha256 struct.
Definition sha256.c:518
WOLFSSL_API int wc_Sha256Update(wc_Sha256 *, const byte *, word32)
Can be called to continually hash the provided byte array of length len.
Definition sha256.c:501
See also
wc_Sha256Hash
wc_Sha256Update
wc_Sha256Final

◆ wc_InitSha384()

int wc_InitSha384 ( wc_Sha384 * 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);
}
WOLFSSL_API int wc_InitSha384(wc_Sha384 *)
This function initializes SHA384. This is automatically called by wc_Sha384Hash.
Definition sha512.c:1045
WOLFSSL_API int wc_Sha384Update(wc_Sha384 *, const byte *, word32)
Can be called to continually hash the provided byte array of length len.
Definition sha512.c:948
WOLFSSL_API int wc_Sha384Final(wc_Sha384 *, byte *)
Finalizes hashing of data. Result is placed into hash.
Definition sha512.c:987
See also
wc_Sha384Hash
wc_Sha384Update
wc_Sha384Final

◆ wc_InitSha512()

int wc_InitSha512 ( wc_Sha512 * 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);
}
WOLFSSL_API int wc_Sha512Final(wc_Sha512 *, byte *)
Finalizes hashing of data. Result is placed into hash.
Definition sha512.c:847
WOLFSSL_API int wc_InitSha512(wc_Sha512 *)
This function initializes SHA512. This is automatically called by wc_Sha512Hash.
Definition sha512.c:873
WOLFSSL_API int wc_Sha512Update(wc_Sha512 *, const byte *, word32)
Can be called to continually hash the provided byte array of length len.
Definition sha512.c:705
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()

WOLFSSL_API 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_InitSha356(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 * 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);
}
WOLFSSL_API int wc_InitSha256(wc_Sha256 *)
This function initializes SHA256. This is automatically called by wc_Sha256Hash.
Definition sha256.c:1443
WOLFSSL_API void wc_Sha256Free(wc_Sha256 *)
Resets the Sha256 structure. Note: this is only supported if you have WOLFSSL_TI_HASH defined.
Definition sha256.c:1448
See also
wc_InitSha256
wc_Sha256Update
wc_Sha256Final

◆ wc_Sha256GetHash()

WOLFSSL_API int wc_Sha256GetHash ( wc_Sha256 * sha,
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_InitSha356(sha256)) != 0) {
WOLFSSL_MSG("wc_InitSha256 failed");
}
else {
wc_Sha256Update(sha256, data, len);
wc_Sha256GetHash(sha256, hash);
}
WOLFSSL_API int wc_Sha256GetHash(wc_Sha256 *, byte *)
Gets hash data. Result is placed into hash. Does not reset state of sha256 struct.
Definition afalg_hash.c:255
See also
wc_Sha256Hash
wc_Sha256Final
wc_InitSha256

◆ wc_Sha256Hash()

WOLFSSL_API 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 * sha256,
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()

WOLFSSL_API 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 * sha384,
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()

WOLFSSL_API 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 * sha512,
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 * 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);
WOLFSSL_API 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...
Definition sha.c:778
See also
wc_InitSha
wc_ShaUpdate
wc_ShaFinal

◆ wc_ShaGetHash()

WOLFSSL_API 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);
}
WOLFSSL_API int wc_ShaGetHash(wc_Sha *, byte *)
Gets hash data. Result is placed into hash. Does not reset state of sha struct.
Definition renesas_tsip_sha.c:233
See also
wc_ShaHash
wc_ShaFinal
wc_InitSha

◆ wc_ShaHash()

WOLFSSL_API 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