MD2(3) | Library Functions Manual | MD2(3) |
MD2Init
, MD2Update
,
MD2Final
, MD2End
,
MD2File
, MD2Data
—
#include <sys/types.h>
#include <mdX.h>
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 9.2 |