md5.c (239931) | md5.c (239937) |
---|---|
1/* 2 * Derived from: 3 * 4 * MDDRIVER.C - test driver for MD2, MD4 and MD5 5 */ 6 7/* 8 * Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All --- 4 unchanged lines hidden (view full) --- 13 * software for any particular purpose. It is provided "as is" 14 * without express or implied warranty of any kind. 15 * 16 * These notices must be retained in any copies of any part of this 17 * documentation and/or software. 18 */ 19 20#include <sys/cdefs.h> | 1/* 2 * Derived from: 3 * 4 * MDDRIVER.C - test driver for MD2, MD4 and MD5 5 */ 6 7/* 8 * Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All --- 4 unchanged lines hidden (view full) --- 13 * software for any particular purpose. It is provided "as is" 14 * without express or implied warranty of any kind. 15 * 16 * These notices must be retained in any copies of any part of this 17 * documentation and/or software. 18 */ 19 20#include <sys/cdefs.h> |
21__FBSDID("$FreeBSD: stable/9/sbin/md5/md5.c 239931 2012-08-31 00:33:09Z delphij $"); | 21__FBSDID("$FreeBSD: stable/9/sbin/md5/md5.c 239937 2012-08-31 06:42:51Z delphij $"); |
22 23#include <sys/types.h> 24#include <sys/time.h> 25#include <sys/resource.h> 26#include <err.h> 27#include <md5.h> 28#include <ripemd.h> 29#include <sha.h> 30#include <sha256.h> | 22 23#include <sys/types.h> 24#include <sys/time.h> 25#include <sys/resource.h> 26#include <err.h> 27#include <md5.h> 28#include <ripemd.h> 29#include <sha.h> 30#include <sha256.h> |
31#include <sha512.h> | |
32#include <stdio.h> 33#include <stdlib.h> 34#include <string.h> 35#include <time.h> 36#include <unistd.h> 37 38/* 39 * Length of test block, number of test blocks. --- 10 unchanged lines hidden (view full) --- 50 51typedef void (DIGEST_Init)(void *); 52typedef void (DIGEST_Update)(void *, const unsigned char *, size_t); 53typedef char *(DIGEST_End)(void *, char *); 54 55extern const char *MD5TestOutput[MDTESTCOUNT]; 56extern const char *SHA1_TestOutput[MDTESTCOUNT]; 57extern const char *SHA256_TestOutput[MDTESTCOUNT]; | 31#include <stdio.h> 32#include <stdlib.h> 33#include <string.h> 34#include <time.h> 35#include <unistd.h> 36 37/* 38 * Length of test block, number of test blocks. --- 10 unchanged lines hidden (view full) --- 49 50typedef void (DIGEST_Init)(void *); 51typedef void (DIGEST_Update)(void *, const unsigned char *, size_t); 52typedef char *(DIGEST_End)(void *, char *); 53 54extern const char *MD5TestOutput[MDTESTCOUNT]; 55extern const char *SHA1_TestOutput[MDTESTCOUNT]; 56extern const char *SHA256_TestOutput[MDTESTCOUNT]; |
58extern const char *SHA512_TestOutput[MDTESTCOUNT]; | |
59extern const char *RIPEMD160_TestOutput[MDTESTCOUNT]; 60 61typedef struct Algorithm_t { 62 const char *progname; 63 const char *name; 64 const char *(*TestOutput)[MDTESTCOUNT]; 65 DIGEST_Init *Init; 66 DIGEST_Update *Update; --- 8 unchanged lines hidden (view full) --- 75static void MDTestSuite(Algorithm_t *); 76static void MDFilter(Algorithm_t *, int); 77static void usage(Algorithm_t *); 78 79typedef union { 80 MD5_CTX md5; 81 SHA1_CTX sha1; 82 SHA256_CTX sha256; | 57extern const char *RIPEMD160_TestOutput[MDTESTCOUNT]; 58 59typedef struct Algorithm_t { 60 const char *progname; 61 const char *name; 62 const char *(*TestOutput)[MDTESTCOUNT]; 63 DIGEST_Init *Init; 64 DIGEST_Update *Update; --- 8 unchanged lines hidden (view full) --- 73static void MDTestSuite(Algorithm_t *); 74static void MDFilter(Algorithm_t *, int); 75static void usage(Algorithm_t *); 76 77typedef union { 78 MD5_CTX md5; 79 SHA1_CTX sha1; 80 SHA256_CTX sha256; |
83 SHA512_CTX sha512; | |
84 RIPEMD160_CTX ripemd160; 85} DIGEST_CTX; 86 87/* max(MD5_DIGEST_LENGTH, SHA_DIGEST_LENGTH, | 81 RIPEMD160_CTX ripemd160; 82} DIGEST_CTX; 83 84/* max(MD5_DIGEST_LENGTH, SHA_DIGEST_LENGTH, |
88 SHA256_DIGEST_LENGTH, SHA512_DIGEST_LENGTH, 89 RIPEMD160_DIGEST_LENGTH)*2+1 */ 90#define HEX_DIGEST_LENGTH 129 | 85 SHA256_DIGEST_LENGTH, RIPEMD160_DIGEST_LENGTH)*2+1 */ 86#define HEX_DIGEST_LENGTH 65 |
91 92/* algorithm function table */ 93 94struct Algorithm_t Algorithm[] = { 95 { "md5", "MD5", &MD5TestOutput, (DIGEST_Init*)&MD5Init, 96 (DIGEST_Update*)&MD5_Update, (DIGEST_End*)&MD5End, 97 &MD5Data, &MD5File }, 98 { "sha1", "SHA1", &SHA1_TestOutput, (DIGEST_Init*)&SHA1_Init, 99 (DIGEST_Update*)&SHA1_Update, (DIGEST_End*)&SHA1_End, 100 &SHA1_Data, &SHA1_File }, 101 { "sha256", "SHA256", &SHA256_TestOutput, (DIGEST_Init*)&SHA256_Init, 102 (DIGEST_Update*)&SHA256_Update, (DIGEST_End*)&SHA256_End, 103 &SHA256_Data, &SHA256_File }, | 87 88/* algorithm function table */ 89 90struct Algorithm_t Algorithm[] = { 91 { "md5", "MD5", &MD5TestOutput, (DIGEST_Init*)&MD5Init, 92 (DIGEST_Update*)&MD5_Update, (DIGEST_End*)&MD5End, 93 &MD5Data, &MD5File }, 94 { "sha1", "SHA1", &SHA1_TestOutput, (DIGEST_Init*)&SHA1_Init, 95 (DIGEST_Update*)&SHA1_Update, (DIGEST_End*)&SHA1_End, 96 &SHA1_Data, &SHA1_File }, 97 { "sha256", "SHA256", &SHA256_TestOutput, (DIGEST_Init*)&SHA256_Init, 98 (DIGEST_Update*)&SHA256_Update, (DIGEST_End*)&SHA256_End, 99 &SHA256_Data, &SHA256_File }, |
104 { "sha512", "SHA512", &SHA512_TestOutput, (DIGEST_Init*)&SHA512_Init, 105 (DIGEST_Update*)&SHA512_Update, (DIGEST_End*)&SHA512_End, 106 &SHA512_Data, &SHA512_File }, | |
107 { "rmd160", "RMD160", &RIPEMD160_TestOutput, 108 (DIGEST_Init*)&RIPEMD160_Init, (DIGEST_Update*)&RIPEMD160_Update, 109 (DIGEST_End*)&RIPEMD160_End, &RIPEMD160_Data, &RIPEMD160_File } 110}; 111 112static void 113MD5_Update(MD5_CTX *c, const unsigned char *data, size_t len) 114{ --- 207 unchanged lines hidden (view full) --- 322 "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad", 323 "f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650", 324 "71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73", 325 "db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0", 326 "f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e", 327 "e6eae09f10ad4122a0e2a4075761d185a272ebd9f5aa489e998ff2f09cbfdd9f" 328}; 329 | 100 { "rmd160", "RMD160", &RIPEMD160_TestOutput, 101 (DIGEST_Init*)&RIPEMD160_Init, (DIGEST_Update*)&RIPEMD160_Update, 102 (DIGEST_End*)&RIPEMD160_End, &RIPEMD160_Data, &RIPEMD160_File } 103}; 104 105static void 106MD5_Update(MD5_CTX *c, const unsigned char *data, size_t len) 107{ --- 207 unchanged lines hidden (view full) --- 315 "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad", 316 "f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650", 317 "71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73", 318 "db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0", 319 "f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e", 320 "e6eae09f10ad4122a0e2a4075761d185a272ebd9f5aa489e998ff2f09cbfdd9f" 321}; 322 |
330const char *SHA512_TestOutput[MDTESTCOUNT] = { 331 "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e", 332 "1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75", 333 "ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f", 334 "107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c", 335 "4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1", 336 "1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894", 337 "72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843", 338 "e8a835195e039708b13d9131e025f4441dbdc521ce625f245a436dcd762f54bf5cb298d96235e6c6a304e087ec8189b9512cbdf6427737ea82793460c367b9c3" 339}; 340 | |
341const char *RIPEMD160_TestOutput[MDTESTCOUNT] = { 342 "9c1185a5c5e9fc54612808977ee8f548b2258d31", 343 "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe", 344 "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc", 345 "5d0689ef49d2fae572b881b123a85ffa21595f36", 346 "f71c27109c692c1b56bbdceb5b9d2865b3708dbc", 347 "b0e20b6e3116640286ed3a87a5713079b21f5189", 348 "9b752e45573d4b39f4dbd3323cab82bf63326bfb", --- 47 unchanged lines hidden --- | 323const char *RIPEMD160_TestOutput[MDTESTCOUNT] = { 324 "9c1185a5c5e9fc54612808977ee8f548b2258d31", 325 "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe", 326 "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc", 327 "5d0689ef49d2fae572b881b123a85ffa21595f36", 328 "f71c27109c692c1b56bbdceb5b9d2865b3708dbc", 329 "b0e20b6e3116640286ed3a87a5713079b21f5189", 330 "9b752e45573d4b39f4dbd3323cab82bf63326bfb", --- 47 unchanged lines hidden --- |