Algorithms - SHA 128/224/256/384/512
Functions
Name | |
---|---|
int | wc_ShaHash(const byte * data, word32 len, byte * hash) Convenience function, handles all the hashing and places the result into hash. |
int | wc_Sha256Hash(const byte * data, word32 len, byte * hash) Convenience function, handles all the hashing and places the result into hash. |
int | wc_Sha224Hash(const byte * data, word32 len, byte * hash) Convenience function, handles all the hashing and places the result into hash. |
int | wc_Sha512Hash(const byte * data, word32 len, byte * hash) Convenience function, handles all the hashing and places the result into hash. |
int | wc_Sha384Hash(const byte * data, word32 len, byte * hash) Convenience function, handles all the hashing and places the result into hash. |
int | wc_InitSha(wc_Sha * ) This function initializes SHA. This is automatically called by wc_ShaHash. |
int | wc_ShaUpdate(wc_Sha * sha, const byte * data, word32 len) Can be called to continually hash the provided byte array of length len. |
int | wc_ShaFinal(wc_Sha * sha, byte * hash) Finalizes hashing of data. Result is placed into hash. Resets state of sha struct. |
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. |
int | wc_ShaGetHash(wc_Sha * sha, byte * hash) Gets hash data. Result is placed into hash. Does not reset state of sha struct. |
int | wc_InitSha256(wc_Sha256 * ) This function initializes SHA256. This is automatically called by wc_Sha256Hash. |
int | wc_Sha256Update(wc_Sha256 * sha, const byte * data, word32 len) Can be called to continually hash the provided byte array of length len. |
int | wc_Sha256Final(wc_Sha256 * sha256, byte * hash) Finalizes hashing of data. Result is placed into hash. Resets state of sha256 struct. |
void | wc_Sha256Free(wc_Sha256 * ) Resets the Sha256 structure. Note: this is only supported if you have WOLFSSL_TI_HASH defined. |
int | wc_Sha256GetHash(wc_Sha256 * sha256, byte * hash) Gets hash data. Result is placed into hash. Does not reset state of sha256 struct. |
int | wc_InitSha224(wc_Sha224 * ) Used to initialize a Sha224 struct. |
int | wc_Sha224Update(wc_Sha224 * sha224, const byte * data, word32 len) Can be called to continually hash the provided byte array of length len. |
int | wc_Sha224Final(wc_Sha224 * sha224, byte * hash) Finalizes hashing of data. Result is placed into hash. Resets state of sha224 struct. |
int | wc_InitSha512(wc_Sha512 * ) This function initializes SHA512. This is automatically called by wc_Sha512Hash. |
int | wc_Sha512Update(wc_Sha512 * sha, const byte * data, word32 len) Can be called to continually hash the provided byte array of length len. |
int | wc_Sha512Final(wc_Sha512 * sha512, byte * hash) Finalizes hashing of data. Result is placed into hash. |
int | wc_InitSha384(wc_Sha384 * ) This function initializes SHA384. This is automatically called by wc_Sha384Hash. |
int | wc_Sha384Update(wc_Sha384 * sha, const byte * data, word32 len) Can be called to continually hash the provided byte array of length len. |
int | wc_Sha384Final(wc_Sha384 * sha384, byte * hash) Finalizes hashing of data. Result is placed into hash. |
Functions Documentation
function wc_ShaHash
int wc_ShaHash(
const byte * data,
word32 len,
byte * hash
)
Convenience function, handles all the hashing and places the result into hash.
Parameters:
- data the data to hash
- len the length of data
- hash Byte array to hold hash value.
See:
Return:
- 0 Returned upon successfully ….
- Memory_E memory error, unable to allocate memory. This is only possible with the small stack option enabled.
Example
none
function wc_Sha256Hash
int wc_Sha256Hash(
const byte * data,
word32 len,
byte * hash
)
Convenience function, handles all the hashing and places the result into hash.
Parameters:
- data the data to hash
- len the length of data
- hash Byte array to hold hash value.
See:
Return:
- 0 Returned upon successfully …
- Memory_E memory error, unable to allocate memory. This is only possible with the small stack option enabled.
Example
none
function wc_Sha224Hash
int wc_Sha224Hash(
const byte * data,
word32 len,
byte * hash
)
Convenience function, handles all the hashing and places the result into hash.
Parameters:
- data the data to hash
- len the length of data
- hash Byte array to hold hash value.
See:
Return:
- 0 Success
- <0 Error
Example
none
function wc_Sha512Hash
int wc_Sha512Hash(
const byte * data,
word32 len,
byte * hash
)
Convenience function, handles all the hashing and places the result into hash.
Parameters:
- data the data to hash
- len the length of data
- hash Byte array to hold hash value.
See:
Return:
- 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.
Example
none
function wc_Sha384Hash
int wc_Sha384Hash(
const byte * data,
word32 len,
byte * hash
)
Convenience function, handles all the hashing and places the result into hash.
Parameters:
- data the data to hash
- len the length of data
- hash Byte array to hold hash value.
See:
Return:
- 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.
Example
none
function wc_InitSha
int wc_InitSha(
wc_Sha *
)
This function initializes SHA. This is automatically called by wc_ShaHash.
Parameters:
- sha pointer to the sha structure to use for encryption
See:
Return: 0 Returned upon successfully initializing
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);
}
function 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.
Parameters:
- sha pointer to the sha structure to use for encryption
- data the data to be hashed
- len length of data to be hashed
See:
Return: 0 Returned upon successfully adding the data to the digest.
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);
}
function wc_ShaFinal
int wc_ShaFinal(
wc_Sha * sha,
byte * hash
)
Finalizes hashing of data. Result is placed into hash. Resets state of sha struct.
Parameters:
- sha pointer to the sha structure to use for encryption
- hash Byte array to hold hash value.
See:
Return: 0 Returned upon successfully finalizing.
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);
}
function 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.
Parameters:
- sha Pointer to the Sha struct to free.
See:
Return: No returns.
Example
Sha sha;
wc_InitSha(&sha);
// Use sha
wc_ShaFree(&sha);
function 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.
Parameters:
- sha pointer to the sha structure to use for encryption
- hash Byte array to hold hash value.
See:
Return: 0 Returned upon successfully finalizing.
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);
}
function wc_InitSha256
int wc_InitSha256(
wc_Sha256 *
)
This function initializes SHA256. This is automatically called by wc_Sha256Hash.
Parameters:
- sha256 pointer to the sha256 structure to use for encryption
See:
Return: 0 Returned upon successfully initializing
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);
}
function 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.
Parameters:
- sha256 pointer to the sha256 structure to use for encryption
- data the data to be hashed
- len length of data to be hashed
See:
Return: 0 Returned upon successfully adding the data to the digest.
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);
}
function wc_Sha256Final
int wc_Sha256Final(
wc_Sha256 * sha256,
byte * hash
)
Finalizes hashing of data. Result is placed into hash. Resets state of sha256 struct.
Parameters:
- sha256 pointer to the sha256 structure to use for encryption
- hash Byte array to hold hash value.
See:
Return: 0 Returned upon successfully finalizing.
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);
}
function wc_Sha256Free
void wc_Sha256Free(
wc_Sha256 *
)
Resets the Sha256 structure. Note: this is only supported if you have WOLFSSL_TI_HASH defined.
Parameters:
- sha256 Pointer to the sha256 structure to be freed.
See:
Return: none No returns.
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);
}
function 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.
Parameters:
- sha256 pointer to the sha256 structure to use for encryption
- hash Byte array to hold hash value.
See:
Return: 0 Returned upon successfully finalizing.
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);
}
function wc_InitSha224
int wc_InitSha224(
wc_Sha224 *
)
Used to initialize a Sha224 struct.
Parameters:
- sha224 Pointer to a Sha224 struct to initialize.
See:
Return:
- 0 Success
- 1 Error returned because sha224 is null.
Example
Sha224 sha224;
if(wc_InitSha224(&sha224) != 0)
{
// Handle error
}
function 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.
Parameters:
- sha224 Pointer to the Sha224 structure to use for encryption.
- data Data to be hashed.
- len Length of data to be hashed.
See:
Return:
- 0 Success
- 1 Error returned if function fails.
- BAD_FUNC_ARG Error returned if sha224 or data is null.
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);
}
function wc_Sha224Final
int wc_Sha224Final(
wc_Sha224 * sha224,
byte * hash
)
Finalizes hashing of data. Result is placed into hash. Resets state of sha224 struct.
Parameters:
- sha224 pointer to the sha224 structure to use for encryption
- hash Byte array to hold hash value.
See:
Return:
- 0 Success
- <0 Error
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);
}
function wc_InitSha512
int wc_InitSha512(
wc_Sha512 *
)
This function initializes SHA512. This is automatically called by wc_Sha512Hash.
Parameters:
- sha512 pointer to the sha512 structure to use for encryption
See:
Return: 0 Returned upon successfully initializing
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);
}
function 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.
Parameters:
- sha512 pointer to the sha512 structure to use for encryption
- data the data to be hashed
- len length of data to be hashed
See:
Return: 0 Returned upon successfully adding the data to the digest.
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);
}
function wc_Sha512Final
int wc_Sha512Final(
wc_Sha512 * sha512,
byte * hash
)
Finalizes hashing of data. Result is placed into hash.
Parameters:
- sha512 pointer to the sha512 structure to use for encryption
- hash Byte array to hold hash value.
See:
Return: 0 Returned upon successfully finalizing the hash.
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);
}
function wc_InitSha384
int wc_InitSha384(
wc_Sha384 *
)
This function initializes SHA384. This is automatically called by wc_Sha384Hash.
Parameters:
- sha384 pointer to the sha384 structure to use for encryption
See:
Return: 0 Returned upon successfully initializing
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);
}
function 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.
Parameters:
- sha384 pointer to the sha384 structure to use for encryption
- data the data to be hashed
- len length of data to be hashed
See:
Return: 0 Returned upon successfully adding the data to the digest.
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);
}
function wc_Sha384Final
int wc_Sha384Final(
wc_Sha384 * sha384,
byte * hash
)
Finalizes hashing of data. Result is placed into hash.
Parameters:
- sha384 pointer to the sha384 structure to use for encryption
- hash Byte array to hold hash value.
See:
Return: 0 Returned upon successfully finalizing.
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);
}
Updated on 2022-06-25 at 08:30:56 +0000