MD5Update man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

MD5(3EXT)							     MD5(3EXT)

NAME
       md5, md5_calc, MD5Init, MD5Update, MD5Final - MD5 digest functions

SYNOPSIS
       cc [ flag ... ] file ... -lmd5 [ library ... ]
       #include <md5.h>

       void md5_calc(unsigned char *output, unsigned char *input,
	    unsigned int inlen);

       void MD5Init(MD5_CTX *context);

       void MD5Update(MD5_CTX *context, unsigned char *input,
	    unsigned int inlen);

       void MD5Final(unsigned char *output, MD5_CTX *context);

DESCRIPTION
       These functions implement the MD5 message-digest algorithm, which takes
       as input a message of arbitrary length and produces as output a 128-bit
       "fingerprint" or "message digest" of the input. It is intended for dig‐
       ital signature applications, where large file must be "compressed" in a
       secure  manner before being encrypted with a private (secret) key under
       a public-key cryptosystem such as RSA.

   md5_calc()
       The md5_calc() function computes an MD5	digest	on  a  single  message
       block.	The  inlen-byte	 block is pointed to by input, and the 16-byte
       MD5 digest is written to output.

   MD5Init(), MD5Update(), MD5Final()
       The MD5Init(), MD5Update(),  and	 MD5Final()  functions	allow  an  MD5
       digest to be computed over multiple message blocks; between blocks, the
       state of the MD5 computation is held in an MD5 context structure, allo‐
       cated by the caller. A complete digest computation consists of one call
       to MD5Init(), one or  more  calls  to  MD5Update(),  and	 one  call  to
       MD5Final(), in that order.

       The MD5Init() function initializes the MD5 context structure pointed to
       by context.

       The MD5Update() function computes a partial MD5 digest  on  the	inlen-
       byte  message  block  pointed  to by input, and updates the MD5 context
       structure pointed to by context accordingly.

       The MD5Final() function generates the final MD5 digest, using  the  MD5
       context	structure  pointed  to	by  context; the 16-byte MD5 digest is
       written to output. After calling MD5Final(), the state of  the  context
       structure  is undefined; it must be reinitialized with MD5Init() before
       being used again.

RETURN VALUES
       These functions do not return a value.

EXAMPLES
       Example 1 Authenticate a message found in multiple buffers

       The following is a sample function that	must  authenticate  a  message
       that  is	 found	in  multiple buffers. The calling function provides an
       authentication buffer that will contain the result of the MD5 digest.

	 #include <sys/types.h>
	 #include <sys/uio.h>
	 #include <md5.h>

	 int
	 AuthenticateMsg(unsigned char *auth_buffer, struct iovec
			 *messageIov, unsigned int num_buffers)
	 {
	     MD5_CTX md5_context;
	     unsigned int i;

	     MD5Init(&md5_context);

	     for(i=0; i<num_buffers; i++)
	     {
		  MD5Update(&md5_context, messageIov->iov_base,
			    messageIov->iov_len);
		  messageIov += sizeof(struct iovec);
	     }

	     MD5Final(auth_buffer, &md5_context);

	     return 0;
	 }

       Example 2 Use md5_calc() to generate the MD5 digest

       Since the buffer to be computed is contiguous, the md5_calc()  function
       can be used to generate the MD5 digest.

	 int AuthenticateMsg(unsigned char *auth_buffer, unsigned
			     char *buffer, unsigned int length)
	 {
	     md5_calc(buffer, auth_buffer, length);

	     return (0);
	 }

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Committed	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       libmd5(3LIB)

       Rivest, R., The MD5 Message-Digest Algorithm, RFC 1321, April 1992.

				 Nov 13, 2007			     MD5(3EXT)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net