MD2(3) | Library Functions Manual | MD2(3) |
void
MD2Init(MD2_CTX *context);
void
MD2Update(MD2_CTX *context, const unsigned char *data, unsigned int len);
void
MD2Final(unsigned char digest[16], MD2_CTX *context);
char *
MD2End(MD2_CTX *context, char *buf);
char *
MD2File(const char *filename, char *buf);
char *
MD2Data(const unsigned char *data, unsigned int len, char *buf);
The MD2 routines should not be used for any security-related purpose.
The MD2Init(), MD2Update(), and MD2Final() functions are the core functions. Allocate an MD2_CTX, initialize it with MD2Init(), run over the data with MD2Update(), and finally extract the result using MD2Final().
MD2End() is a wrapper for MD2Final() which converts the return value to a 33-character (including the terminating '\0') ASCII string which represents the 128 bits in hexadecimal.
MD2File() calculates the digest of a file, and uses MD2End() to return the result. If the file cannot be opened, a null pointer is returned. MD2Data() calculates the digest of a chunk of data in memory, and uses MD2End() to return the result.
When using MD2End(), MD2File(), or MD2Data(), the buf argument can be a null pointer, in which case the returned string is allocated with malloc(3) and subsequently must be explicitly deallocated using free(3) after use. If the buf argument is non-null it must point to at least 33 characters of buffer space.
B. Kaliski, The MD2 Message-Digest Algorithm, RFC 1319.
RSA Laboratories, Frequently Asked Questions About today's Cryptography.
September 24, 2005 | NetBSD 6.1 |