## MD5 Utility Functions

MD5 Utility Functions — Functions for manipulating MD5 checksums.

## Synopsis

                MD5Context;
    void        md5_get_digest                  (const gchar *buffer,
                                                 gint buffer_size,
                                                 guchar digest[16]);
    void        md5_get_digest_from_file        (const gchar *filename,
                                                 guchar digest[16]);
    void        md5_init                        (MD5Context *ctx);
    void        md5_update                      (MD5Context *ctx,
                                                 const guchar *buf,
                                                 guint32 len);
    void        md5_final                       (MD5Context *ctx,
                                                 guchar digest[16]);

## Description

## Details

### MD5Context

    typedef struct {
    } MD5Context;

A buffer structure used for md5 calculation.

### md5_get_digest ()

    void        md5_get_digest                  (const gchar *buffer,
                                                 gint buffer_size,
                                                 guchar digest[16]);

Get the md5 hash of a buffer. The result is put in the 16 bytes buffer `digest` .

`buffer` : | byte buffer
`buffer_size` : | buffer size (in bytes)
`digest` : | 16 bytes buffer receiving the hash code.

### md5_get_digest_from_file ()

    void        md5_get_digest_from_file        (const gchar *filename,
                                                 guchar digest[16]);

Get the md5 hash of a file. The result is put in the 16 bytes buffer `digest` .

`filename` : | file name
`digest` : | 16 bytes buffer receiving the hash code.

### md5_init ()

    void        md5_init                        (MD5Context *ctx);

Initialise an md5 buffer.

`ctx` : | md5 context

### md5_update ()

    void        md5_update                      (MD5Context *ctx,
                                                 const guchar *buf,
                                                 guint32 len);

Update context to reflect the concatenation of another buffer full of bytes. Use this to progressively construct an md5 hash.

`ctx` : | context object used for md5 computaion
`buf` : | buffer to add
`len` : | buffer length

### md5_final ()

    void        md5_final                       (MD5Context *ctx,
                                                 guchar digest[16]);

copy the final md5 hash to a bufer

`ctx` : | context containing the calculated md5
`digest` : | 16 bytes buffer