Hmac

HMACs should be used when producing a cookie or hash based on data and a key. Simple mechanisms for using SHA1 and other algorithms to digest a key and data together are vulnerable to various security issues. HMAC

uses algorithms like SHA1 in a secure way to produce a digest of a key and data.

Both the key and data are arbitrary byte arrays of bytes or characters.

Support for HMAC Digests has been added in GLib 2.30, and support for SHA-512 in GLib 2.42. Support for SHA-384 was added in GLib 2.52.

To create a new glib.hmac.Hmac, use glib.hmac.Hmac.new_. To free a glib.hmac.Hmac, use glib.hmac.Hmac.unref.

Constructors

this
this(glib.types.ChecksumType digestType, ubyte[] key)

Creates a new #GHmac, using the digest algorithm digest_type. If the digest_type is not known, null is returned. A #GHmac can be used to compute the HMAC of a key and an arbitrary binary blob, using different hashing algorithms.

Members

Functions

copy
glib.hmac.Hmac copy()

Copies a #GHmac. If hmac has been closed, by calling glib.hmac.Hmac.getString or glib.hmac.Hmac.getDigest, the copied HMAC will be closed as well.

getDigest
void getDigest(ubyte[] buffer)

Gets the digest from checksum as a raw binary array and places it into buffer. The size of the digest depends on the type of checksum.

getString
string getString()

Gets the HMAC as a hexadecimal string.

update
void update(ubyte[] data)

Feeds data into an existing #GHmac.

Inherited Members

From Boxed

cInstancePtr
void* cInstancePtr;

Pointer to the C boxed value

getType
GType getType()

Get the GType of this boxed type.

gType
GType gType [@property getter]

Boxed GType property.

self
Boxed self()

Convenience method to return this cast to a type. For use in D with statements.

copy_
void* copy_()

Make a copy of the wrapped C boxed data.

boxedCopy
void* boxedCopy(void* cBoxed)

Copy a C boxed value using g_boxed_copy.

boxedFree
void boxedFree(void* cBoxed)

Free a C boxed value using g_boxed_free.