Sync libmd with FreeBSD:
[dragonfly.git] / lib / libmd / mddriver.c
CommitLineData
984263bc 1/* MDDRIVER.C - test driver for MD2, MD4 and MD5
3cd01911
SW
2 * $FreeBSD: src/lib/libmd/mddriver.c,v 1.7 2001/09/30 21:56:22 dillon Exp $
3 * $DragonFly: src/lib/libmd/mddriver.c,v 1.3 2008/09/11 20:25:34 swildner Exp $
984263bc
MD
4 */
5
6/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
7 rights reserved.
8
9 RSA Data Security, Inc. makes no representations concerning either
10 the merchantability of this software or the suitability of this
11 software for any particular purpose. It is provided "as is"
12 without express or implied warranty of any kind.
13
14 These notices must be retained in any copies of any part of this
15 documentation and/or software.
16 */
17
18/* The following makes MD default to MD5 if it has not already been
19 defined with C compiler flags.
20 */
21#ifndef MD
22#define MD 5
23#endif
24
25#include <sys/types.h>
26
27#include <stdio.h>
28#include <time.h>
29#include <string.h>
30#if MD == 2
31#include "md2.h"
32#define MDData MD2Data
33#endif
34#if MD == 4
35#include "md4.h"
36#define MDData MD4Data
37#endif
38#if MD == 5
39#include "md5.h"
40#define MDData MD5Data
41#endif
42
43/* Digests a string and prints the result.
44 */
45static void MDString (string)
46char *string;
47{
48 char buf[33];
49
50 printf ("MD%d (\"%s\") = %s\n",
51 MD, string, MDData(string,strlen(string),buf));
52}
53
54/* Digests a reference suite of strings and prints the results.
55 */
56main()
57{
58 printf ("MD%d test suite:\n", MD);
59
60 MDString ("");
61 MDString ("a");
62 MDString ("abc");
63 MDString ("message digest");
64 MDString ("abcdefghijklmnopqrstuvwxyz");
65 MDString
66 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
67 MDString
68 ("1234567890123456789012345678901234567890\
691234567890123456789012345678901234567890");
70 return 0;
71}