### Function

# GLib compute_hmac_for_data

since: 2.30

#### Declaration

    gchar*
    g_compute_hmac_for_data (
      GChecksumType digest_type,
      const guchar* key,
      gsize key_len,
      const guchar* data,
      gsize length
    )

#### Description

Computes the HMAC for a binary `data` of `length`. This is a convenience wrapper for g_hmac_new(), `g_hmac_get_string()` and g_hmac_unref().

The hexadecimal string returned will be in lower case.

Available since: 2.30

#### Parameters

`digest_type`

  Type: `GChecksumType`

  A `GChecksumType` to use for the HMAC.

`key`

  Type: An array of `guchar`

  The key to use in the HMAC.

  The length of the array is specified in the `key_len` argument.
  The data is owned by the caller of the function.

`key_len`

  Type: `gsize`

  The length of the key.

`data`

  Type: An array of `guchar`

  Binary blob to compute the HMAC of.

  The length of the array is specified in the `length` argument.
  The data is owned by the caller of the function.

`length`

  Type: `gsize`

  Length of `data`.

#### Return value

Type: `gchar*`

The HMAC of the binary data as a string in hexadecimal. The returned string should be freed with `g_free()` when done using it.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The value is a NUL terminated UTF-8 string.