MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / hmac_test

Function hmac_test

extra/yassl/taocrypt/test/test.cpp:707–746  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

705
706
707int hmac_test()
708{
709 HMAC<MD5> hmacMD5;
710 byte hash[MD5::DIGEST_SIZE];
711
712 const char* keys[]=
713 {
714 "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b",
715 "Jefe",
716 "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
717 };
718
719 testVector test_hmacMD5[] =
720 {
721 testVector("Hi There",
722 "\x92\x94\x72\x7a\x36\x38\xbb\x1c\x13\xf4\x8e\xf8\x15\x8b\xfc"
723 "\x9d"),
724 testVector("what do ya want for nothing?",
725 "\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7"
726 "\x38"),
727 testVector("\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
728 "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
729 "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
730 "\xDD\xDD\xDD\xDD\xDD\xDD",
731 "\x56\xbe\x34\x52\x1d\x14\x4c\x88\xdb\xb8\xc7\x33\xf0\xe8\xb3"
732 "\xf6")
733 };
734
735 int times( sizeof(test_hmacMD5) / sizeof(testVector) );
736 for (int i = 0; i < times; ++i) {
737 hmacMD5.SetKey((byte*)keys[i], (word32)strlen(keys[i]));
738 hmacMD5.Update(test_hmacMD5[i].input_, test_hmacMD5[i].inLen_);
739 hmacMD5.Final(hash);
740
741 if (memcmp(hash, test_hmacMD5[i].output_, MD5::DIGEST_SIZE) != 0)
742 return -20 - i;
743 }
744
745 return 0;
746}
747
748
749int arc4_test()

Callers 1

taocrypt_testFunction · 0.85

Calls 4

testVectorClass · 0.85
SetKeyMethod · 0.45
UpdateMethod · 0.45
FinalMethod · 0.45

Tested by

no test coverage detected