I was initially working on SHA 128 algorithms & #include <openssl/sha.h> was
what was needed.Now, I need to work on SHA 256, but <openssl/sha.h> does not
seem to work. I've also tried sha2.h & sha256.h to no avail. I've checked
the source code & the SHA 256 APIs are defined in the same header file as
SHA 128, ie openssl/sha.h
SHA 128
#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>
main(int argc, char *argv[])
{
printf("%d\n", SHA_DIGEST_LENGTH);
}
Output
[r...@bglr-ccm34 tmp]# gcc -lcrypto sha2.c
[r...@bglr-ccm34 tmp]# ./a.out
20
SHA256
#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>
main(int argc, char *argv[])
{
printf("%d\n", SHA256_DIGEST_LENGTH);
}
Output
[r...@bglr-ccm34 tmp]# gcc -lcrypto sha2.c
sha2.c: In function `main':
sha2.c:7: error: `SHA256_DIGEST_LENGTH' undeclared (first use in this
function)
sha2.c:7: error: (Each undeclared identifier is reported only once
sha2.c:7: error: for each function it appears in.)