test-gc-hmac-md5.c
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <config.h>
00021
00022 #include <stdio.h>
00023 #include <string.h>
00024 #include "gc.h"
00025
00026 int
00027 main (int argc, char *argv[])
00028 {
00029 Gc_rc rc;
00030
00031 rc = gc_init ();
00032 if (rc != GC_OK)
00033 {
00034 printf ("gc_init() failed\n");
00035 return 1;
00036 }
00037
00038
00039
00040 {
00041 char *key =
00042 "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b";
00043 size_t key_len = 16;
00044 char *data = "Hi There";
00045 size_t data_len = 8;
00046 char *digest =
00047 "\x92\x94\x72\x7a\x36\x38\xbb\x1c\x13\xf4\x8e\xf8\x15\x8b\xfc\x9d";
00048 char out[16];
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058 if (gc_hmac_md5 (key, key_len, data, data_len, out) != 0)
00059 {
00060 printf ("call failure\n");
00061 return 1;
00062 }
00063
00064 if (memcmp (digest, out, 16) != 0)
00065 {
00066 size_t i;
00067 printf ("hash 1 mismatch. expected:\n");
00068 for (i = 0; i < 16; i++)
00069 printf ("%02x ", digest[i] & 0xFF);
00070 printf ("\ncomputed:\n");
00071 for (i = 0; i < 16; i++)
00072 printf ("%02x ", out[i] & 0xFF);
00073 printf ("\n");
00074 return 1;
00075 }
00076 }
00077
00078 gc_done ();
00079
00080 return 0;
00081 }