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