# Examples demonstrating Hash ## Building ### Build and install wolfSSL ``` ./configure && make && sudo make install ``` ### Build Example ``` make gcc -fsanitize=address -o sha256-hash sha256-hash.c -Wall -I/usr/local/include -Os -L/usr/local/lib -lm -lwolfssl ``` ### Debug To enable debug change the Makefile to: ``` CFLAGS+=$(DEBUG_FLAGS) #CFLAGS+=$(OPTIMIZE) ``` Build wolfSSL adding `--enable-debug` and `--disable-shared` to the ./configure. ## Library To enable using the static library change the Makefile to: ``` LIBS+=$(STATIC_LIB) #LIBS+=$(DYN_LIB) ``` ## Usage ### `Ascon-Hash256` This example shows how to hash an input file using Ascon-Hash256. ``` ./Ascon-Hash256 input.txt Hash input file input.txt Hash result is: cfef206d17eff5187fe5b5451326d5489eab2d65fe71faab84a6d9300ef7c6f8 ``` ### `sha256-hash` This example shows how to hash an input file using SHA-256. ``` ./sha256-hash input.txt Hash input file input.txt Hash result is: 75294625788129796c09fcbf313ea16e2883356e322adc2f956b37dbdc10b6a7 ``` ### `sha512-hash` This example shows how to hash an input file using SHA-512. ``` ./sha512-hash input.txt Hash input file input.txt Hash result is: ead56209da2dfb3562263aadc57d9382f0f7cb579ebb6dbf2f20bfd3cb68aaaad422f6ce6f1a88ec6c326edcf8456f650579b6e20eb39f3bb444bee8b65615ed ``` ### `sha3-256-hash` This example shows how to hash an input file using SHA3-256. ``` ./sha3-256-hash input.txt Hash input file input.txt Hash result is: 0704c6ca55e7e5c706b543f07da1daed8149c838549096df6a52dac5f95f2fe0 ``` ### `hash-file` This example shows how to hash an input file using hash wrapper API. ``` ./hash-file SHA256 input.txt Hash input file input.txt Hash result is: 75294625788129796c09fcbf313ea16e2883356e322adc2f956b37dbdc10b6a7 ./hash-file SHA512 input.txt Hash input file input.txt Hash result is: ead56209da2dfb3562263aadc57d9382f0f7cb579ebb6dbf2f20bfd3cb68aaaad422f6ce6f1a88ec6c326edcf8456f650579b6e20eb39f3bb444bee8b65615ed ./hash-file SHA3-256 input.txt Hash input file input.txt Hash result is: 0704c6ca55e7e5c706b543f07da1daed8149c838549096df6a52dac5f95f2fe0 ``` ### `sha256-hash-string` This example shows how to hash a string using SHA256. ``` ./sha256-hash-string String to hash: 'String to hash' Hash result is: d4476d30fd94c746eb38d8a1b3931aa81d1e485be5a6362f47598017a91cb5d2 ``` ### `sha256-hash-oneshot-string` This example shows how to hash a string using wolfSSL's SHA-256 oneshot API. ``` ./sha256-hash-oneshot-string String to hash: 'String to hash' Hash result is: d4476d30fd94c746eb38d8a1b3931aa81d1e485be5a6362f47598017a91cb5d2 ``` ### `sha3-256-hash-oneshot-string` This example shows how to hash a string using wolfSSL's SHA3-256 oneshot API. ``` ./sha3-256-hash-oneshot-string String to hash: 'String to hash' Hash result is: 10d69e59ac10b1d81755733f323bdadca3e04e4b17df72f5b343d6da701a4225 ``` ## Support For questions please email us at support@wolfssl.com.