diff options
Diffstat (limited to 'tests/suites/test_suite_shax.function')
-rw-r--r-- | tests/suites/test_suite_shax.function | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/tests/suites/test_suite_shax.function b/tests/suites/test_suite_shax.function new file mode 100644 index 0000000..f90d161 --- /dev/null +++ b/tests/suites/test_suite_shax.function @@ -0,0 +1,105 @@ +BEGIN_HEADER +#include <polarssl/sha1.h> +#include <polarssl/sha2.h> +#include <polarssl/sha4.h> +END_HEADER + +BEGIN_CASE +sha1:hex_src_string:hex_hash_string +{ + unsigned char src_str[10000]; + unsigned char hash_str[10000]; + unsigned char output[41]; + + memset(src_str, 0x00, 10000); + memset(hash_str, 0x00, 10000); + memset(output, 0x00, 41); + + int src_len = unhexify( src_str, {hex_src_string} ); + + sha1( src_str, src_len, output ); + hexify( hash_str, output, 20 ); + + TEST_ASSERT( strcmp( (char *) hash_str, {hex_hash_string} ) == 0 ); +} +END_CASE + +BEGIN_CASE +sha224:hex_src_string:hex_hash_string +{ + unsigned char src_str[10000]; + unsigned char hash_str[10000]; + unsigned char output[57]; + + memset(src_str, 0x00, 10000); + memset(hash_str, 0x00, 10000); + memset(output, 0x00, 57); + + int src_len = unhexify( src_str, {hex_src_string} ); + + sha2( src_str, src_len, output, 1 ); + hexify( hash_str, output, 28 ); + + TEST_ASSERT( strcmp( (char *) hash_str, {hex_hash_string} ) == 0 ); +} +END_CASE + +BEGIN_CASE +sha256:hex_src_string:hex_hash_string +{ + unsigned char src_str[10000]; + unsigned char hash_str[10000]; + unsigned char output[65]; + + memset(src_str, 0x00, 10000); + memset(hash_str, 0x00, 10000); + memset(output, 0x00, 65); + + int src_len = unhexify( src_str, {hex_src_string} ); + + sha2( src_str, src_len, output, 0 ); + hexify( hash_str, output, 32 ); + + TEST_ASSERT( strcmp( (char *) hash_str, {hex_hash_string} ) == 0 ); +} +END_CASE + +BEGIN_CASE +sha384:hex_src_string:hex_hash_string +{ + unsigned char src_str[10000]; + unsigned char hash_str[10000]; + unsigned char output[97]; + + memset(src_str, 0x00, 10000); + memset(hash_str, 0x00, 10000); + memset(output, 0x00, 97); + + int src_len = unhexify( src_str, {hex_src_string} ); + + sha4( src_str, src_len, output, 1 ); + hexify( hash_str, output, 48 ); + + TEST_ASSERT( strcmp( (char *) hash_str, {hex_hash_string} ) == 0 ); +} +END_CASE + +BEGIN_CASE +sha512:hex_src_string:hex_hash_string +{ + unsigned char src_str[10000]; + unsigned char hash_str[10000]; + unsigned char output[129]; + + memset(src_str, 0x00, 10000); + memset(hash_str, 0x00, 10000); + memset(output, 0x00, 129); + + int src_len = unhexify( src_str, {hex_src_string} ); + + sha4( src_str, src_len, output, 0); + hexify( hash_str, output, 64 ); + + TEST_ASSERT( strcmp( (char *) hash_str, {hex_hash_string} ) == 0 ); +} +END_CASE |