md5sum コンパイル。

webにプログラム落ちてたが
stdarg とかいらねーだろ とかブツブツいいながら
削除し軽量化。。。

/*
作者
     オリジナルの MD5 ルーチンは、RSA Data Security 社によって開発され、上記の
     参照で公開されました。このコードは、Poul-Henning Kamp <phk@FreeBSD.org>
     による実装に直接由来します。

     Phk ristede runen
Copyright
     (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
*/
int main(int argc, char *argv[])
{
	char *fname;
	FILE *fp;

	unsigned char buffer[16384];
	int length;

	unsigned char signature[16];
	int i;

	struct MD5Context md5c;

	fname = argv[1];
	if ((fp = fopen(fname, "rb")) == NULL) {
		fprintf(stderr, "Cannot open input file %s\n", fname);
		return 2;
	}
	_setmode(_fileno(fp), _O_BINARY);

	MD5Init(&md5c);
	while ((length = (int) fread(buffer, 1, sizeof buffer, fp)) > 0)
		MD5Update(&md5c, buffer, (unsigned) length);

	fclose(fp);

	MD5Final(signature, &md5c);

	for (i = 0; i < sizeof signature; i++) {
		printf("%02X", signature[i]);
	}

	printf("  %s",  fname);
	printf("\n");

	return 0;
}