freebsd-nq/lib/libmd/mddriver.c
Poul-Henning Kamp c9502b535e Reviewed by: phk
Imported libmd.  This library contains MD2, MD4 and MD5.
These three boggers pop up all over the place all of the time, so I 
decided we needed a library with them.  In general they are used for
security checks, so if you use them you want to link them static.
1994-07-24 03:29:56 +00:00

66 lines
1.5 KiB
C

/* MDDRIVER.C - test driver for MD2, MD4 and MD5
* $FreeBSD$
*/
/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
rights reserved.
RSA Data Security, Inc. makes no representations concerning either
the merchantability of this software or the suitability of this
software for any particular purpose. It is provided "as is"
without express or implied warranty of any kind.
These notices must be retained in any copies of any part of this
documentation and/or software.
*/
/* The following makes MD default to MD5 if it has not already been
defined with C compiler flags.
*/
#ifndef MD
#define MD MD5
#endif
#include <stdio.h>
#include <time.h>
#include <string.h>
#if MD == 2
#include "md2.h"
#define MDData MD2Data
#endif
#if MD == 4
#include "md4.h"
#define MDData MD4Data
#endif
#if MD == 5
#include "md5.h"
#define MDData MD5Data
#endif
/* Digests a string and prints the result.
*/
static void MDString (string)
char *string;
{
printf ("MD%d (\"%s\") = %s\n", MD, string, MDData(string,strlen(string)));
}
/* Digests a reference suite of strings and prints the results.
*/
main()
{
printf ("MD%d test suite:\n", MD);
MDString ("");
MDString ("a");
MDString ("abc");
MDString ("message digest");
MDString ("abcdefghijklmnopqrstuvwxyz");
MDString
("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
MDString
("1234567890123456789012345678901234567890\
1234567890123456789012345678901234567890");
}