1999-02-26 04:25:01 +00:00
|
|
|
/* SHADRIVER.C - test driver for SHA-1 (and SHA-0)
|
|
|
|
*/
|
|
|
|
|
2001-09-30 21:56:22 +00:00
|
|
|
#include <sys/cdefs.h>
|
|
|
|
__FBSDID("$FreeBSD$");
|
|
|
|
|
1999-02-26 04:25:01 +00:00
|
|
|
/* 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 SHA default to SHA-1 if it has not already been
|
|
|
|
defined with C compiler flags.
|
|
|
|
*/
|
|
|
|
#ifndef SHA
|
|
|
|
#define SHA 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <sys/types.h>
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <time.h>
|
|
|
|
#include <string.h>
|
|
|
|
#include "sha.h"
|
2005-03-09 19:23:04 +00:00
|
|
|
#include "sha256.h"
|
1999-02-26 04:25:01 +00:00
|
|
|
#if SHA == 1
|
|
|
|
#define SHA_Data SHA1_Data
|
2005-03-09 19:23:04 +00:00
|
|
|
#elif SHA == 256
|
|
|
|
#define SHA_Data SHA256_Data
|
1999-02-26 04:25:01 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/* Digests a string and prints the result.
|
|
|
|
*/
|
|
|
|
static void SHAString (string)
|
|
|
|
char *string;
|
|
|
|
{
|
2005-03-09 19:23:04 +00:00
|
|
|
char buf[2*32+1];
|
1999-02-26 04:25:01 +00:00
|
|
|
|
|
|
|
printf ("SHA-%d (\"%s\") = %s\n",
|
|
|
|
SHA, string, SHA_Data(string,strlen(string),buf));
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Digests a reference suite of strings and prints the results.
|
|
|
|
*/
|
|
|
|
main()
|
|
|
|
{
|
|
|
|
printf ("SHA-%d test suite:\n", SHA);
|
|
|
|
|
|
|
|
SHAString ("");
|
|
|
|
SHAString ("abc");
|
|
|
|
SHAString ("message digest");
|
|
|
|
SHAString ("abcdefghijklmnopqrstuvwxyz");
|
|
|
|
SHAString
|
|
|
|
("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
|
|
|
|
SHAString
|
|
|
|
("1234567890123456789012345678901234567890\
|
|
|
|
1234567890123456789012345678901234567890");
|
|
|
|
return 0;
|
|
|
|
}
|