/* * md51.c: MD5 hash of 1 line (minus newline) from stdin * R. Perry, May 1997 */ #include #include #include "md5.h" #define MAX_STRING_LEN BUFSIZ int main( void) { char md5_input[ MAX_STRING_LEN]; unsigned char *md; int len, i; if( fgets( md5_input, MAX_STRING_LEN, stdin) == NULL) { fprintf( stderr, "md5: stdin is empty\n"); exit(1); } len = strlen( md5_input); if( len && md5_input[len-1] == '\n') { --len; md5_input[len] = '\0'; } md = MD5( (unsigned char *) md5_input, len, NULL); for( i = 0; i < MD5_DIGEST_LENGTH; ++i) printf( "%02x", md[i]); printf( "\n"); exit(0); }