### Function

# GLib Checksum new

since: 2.16

#### Declaration

    GChecksum*
    g_checksum_new (
      GChecksumType checksum_type
    )

#### Description

Creates a new `GChecksum`, using the checksum algorithm `checksum_type`. If the `checksum_type` is not known, `NULL` is returned. A `GChecksum` can be used to compute the checksum, or digest, of an arbitrary binary blob, using different hashing algorithms.

A `GChecksum` works by feeding a binary blob through `g_checksum_update()` until there is data to be checked; the digest can then be extracted using g_checksum_get_string(), which will return the checksum as a hexadecimal string; or g_checksum_get_digest(), which will return a vector of raw bytes. Once either `g_checksum_get_string()` or `g_checksum_get_digest()` have been called on a `GChecksum`, the checksum will be closed and it won’t be possible to call `g_checksum_update()` on it anymore.

Available since: 2.16

#### Parameters

`checksum_type`

  Type: `GChecksumType`

  The desired type of checksum.

#### Return value

Type: `GChecksum`

The newly created `GChecksum`, or `NULL`. Use `g_checksum_free()` to free the memory allocated by it.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be `NULL`.