| 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.4 |