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

A glib.Hmac works by feeding a binary blob through Hmac.update until the data is complete; the digest can then be extracted using Hmac.getString, which will return the checksum as a hexadecimal string; or Hmac.getDigest, which will return a array of raw bytes. Once either Hmac.getString or Hmac.getDigest have been called on a glib.Hmac, the HMAC will be closed and it won't be possible to call Hmac.update on it anymore.

Support for digests of type G_CHECKSUM_SHA512 has been added in GLib 2.42. Support for G_CHECKSUM_SHA384 was added in GLib 2.52.

  1. this(GHmac* gHmac, bool ownedRef)
  2. this(GChecksumType digestType, char[] key)
    class Hmac


digestType GChecksumType

the desired type of digest

key char[]

the key for the HMAC

Return Value

the newly created glib.Hmac, or NULL. Use Hmac.unref to free the memory allocated by it.


ConstructionException GTK+ fails to create the object.