/*
- * Copyright (c) 2009 Nicira Networks.
+ * Copyright (c) 2009, 2011, 2012 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
static void
test_one(const struct test_vector *vec)
{
- uint8_t md[SHA1HashSize];
+ uint8_t md[SHA1_DIGEST_SIZE];
int i;
/* All at once. */
- SHA1Bytes(vec->data, vec->size, md);
- assert(!memcmp(md, vec->output, SHA1HashSize));
+ sha1_bytes(vec->data, vec->size, md);
+ assert(!memcmp(md, vec->output, SHA1_DIGEST_SIZE));
/* In two pieces. */
for (i = 0; i < 20; i++) {
int n0 = vec->size ? random_range(vec->size) : 0;
int n1 = vec->size - n0;
- SHA1Context sha1;
-
- assert(SHA1Reset(&sha1) == shaSuccess);
- assert(SHA1Input(&sha1, (const void *) vec->data, n0) == shaSuccess);
- assert(SHA1Input(&sha1, (const void *) (vec->data + n0), n1)
- == shaSuccess);
- assert(SHA1Result(&sha1, md) == shaSuccess);
- assert(!memcmp(md, vec->output, SHA1HashSize));
+ struct sha1_ctx sha1;
+
+ sha1_init(&sha1);
+ sha1_update(&sha1, vec->data, n0);
+ sha1_update(&sha1, vec->data + n0, n1);
+ sha1_final(&sha1, md);
+ assert(!memcmp(md, vec->output, SHA1_DIGEST_SIZE));
}
putchar('.');
{ 0x34, 0xAA, 0x97, 0x3C, 0xD4, 0xC4, 0xDA, 0xA4, 0xF6, 0x1E,
0xEB, 0x2B, 0xDB, 0xAD, 0x27, 0x31, 0x65, 0x34, 0x01, 0x6F }
};
+ size_t i;
vec.data = xmalloc(SIZE);
- memset(vec.data, 'a', SIZE);
+ for (i = 0; i < SIZE; i++) {
+ vec.data[i] = 'a';
+ }
test_one(&vec);
free(vec.data);
}
test_big_vector();
+ putchar('\n');
+
return 0;
}