diff options
author | markm <markm@FreeBSD.org> | 2011-04-09 13:56:29 +0000 |
---|---|---|
committer | markm <markm@FreeBSD.org> | 2011-04-09 13:56:29 +0000 |
commit | 4f5a8eb04f8d12eec8824c3bc241d96ffdc42985 (patch) | |
tree | 70bc04e11a1dc3b74bc82999e4e840b734e6ad98 /lib/libmd/shadriver.c | |
parent | a5214d11efccf4c61be4e8e6ca9c5ae4ffcd2d5c (diff) | |
download | FreeBSD-src-4f5a8eb04f8d12eec8824c3bc241d96ffdc42985.zip FreeBSD-src-4f5a8eb04f8d12eec8824c3bc241d96ffdc42985.tar.gz |
Add SHA512 (Actually, this is Colin Percival's code for SHA256, with
relevant constants changed).
While I'm here clean up the tests and Makefile.
PR: misc/124164
Submitted by: KIMURA Yasuhiro < yasu utahime org >
MFC after: 1 month
Diffstat (limited to 'lib/libmd/shadriver.c')
-rw-r--r-- | lib/libmd/shadriver.c | 83 |
1 files changed, 42 insertions, 41 deletions
diff --git a/lib/libmd/shadriver.c b/lib/libmd/shadriver.c index 7f799fb..adaf684 100644 --- a/lib/libmd/shadriver.c +++ b/lib/libmd/shadriver.c @@ -1,66 +1,67 @@ -/* SHADRIVER.C - test driver for SHA-1 (and SHA-0) - */ +/* SHADRIVER.C - test driver for SHA-1 (and SHA-2) */ + +/* 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. */ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All - rights reserved. +#include <sys/types.h> - 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. +#include <stdio.h> +#include <time.h> +#include <string.h> - These notices must be retained in any copies of any part of this - documentation and/or software. - */ +#include "sha.h" +#include "sha256.h" +#include "sha512.h" /* The following makes SHA default to SHA-1 if it has not already been - defined with C compiler flags. - */ + * 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" -#include "sha256.h" #if SHA == 1 #define SHA_Data SHA1_Data #elif SHA == 256 #define SHA_Data SHA256_Data +#elif SHA == 512 +#define SHA_Data SHA512_Data #endif -/* Digests a string and prints the result. - */ -static void SHAString (string) -char *string; +/* Digests a string and prints the result. */ +static void +SHAString(char *string) { - char buf[2*32+1]; + char buf[2*64 + 1]; - printf ("SHA-%d (\"%s\") = %s\n", - SHA, string, SHA_Data(string,strlen(string),buf)); + 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() +/* Digests a reference suite of strings and prints the results. */ +int +main(void) { - printf ("SHA-%d test suite:\n", SHA); + printf("SHA-%d test suite:\n", SHA); + + SHAString(""); + SHAString("abc"); + SHAString("message digest"); + SHAString("abcdefghijklmnopqrstuvwxyz"); + SHAString("ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz0123456789"); + SHAString("1234567890123456789012345678901234567890" + "1234567890123456789012345678901234567890"); - SHAString (""); - SHAString ("abc"); - SHAString ("message digest"); - SHAString ("abcdefghijklmnopqrstuvwxyz"); - SHAString - ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"); - SHAString - ("1234567890123456789012345678901234567890\ -1234567890123456789012345678901234567890"); - return 0; + return 0; } |