1f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project#include  <tomcrypt_test.h>
2f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project
3f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Projectint base64_test(void)
4f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project{
5f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project   unsigned char in[64], out[256], tmp[64];
6f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project   unsigned long x, l1, l2;
7f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project
8f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project   for  (x = 0; x < 64; x++) {
9f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project       yarrow_read(in, x, &yarrow_prng);
10f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project       l1 = sizeof(out);
11f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project       DO(base64_encode(in, x, out, &l1));
12f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project       l2 = sizeof(tmp);
13f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project       DO(base64_decode(out, l1, tmp, &l2));
14f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project       if (l2 != x || memcmp(tmp, in, x)) {
15f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project           fprintf(stderr, "base64  failed %lu %lu %lu", x, l1, l2);
16f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project           return 1;
17f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project       }
18f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project   }
19f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project   return 0;
20f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project}
21f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project
22f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project/* $Source: /cvs/libtom/libtomcrypt/testprof/base64_test.c,v $ */
23f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project/* $Revision: 1.5 $ */
24f7fc46c63fdc8f39234fea409b8dbe116d73ebf8The Android Open Source Project/* $Date: 2005/05/21 12:51:25 $ */
25