(mozilla-projects-nss-reference-fc-digestfinal)= # FC_DigestFinal ## [Name](#name) :::{container} FC_DigestFinal - finish a multi-part digest operation. ::: ## [Syntax](#syntax) :::{container} ```{code} CK_RV FC_DigestFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen ); ``` ::: ## [Parameters](#parameters) :::{container} `hSession` : [in] session handle. `pDigest` : [out] pointer to the buffer which will receive the digest or NULL. `pulDigestLen` : [in, out] pointer to location containing the maximum buffer size. ::: ## [Description](#description) :::{container} `FC_DigestFinal` finishes a multi-part digest operation by returning the complete digest and clearing the operation context. If `pDigest` is NULL the length of the digest is returned and `FC_DigestFinal` may be called again with `pDigest` set to retrieve the digest. A user may call `FC_DigestFinal` without logging into the token (to assume the NSS User role). ::: ## [Return value](#return_value) ## [Examples](#examples) ## [See also](#see_also) :::{container} - {ref}`mozilla_projects_nss_reference_fc_digestinit`, [NSC_DigestFinal](/en-US/NSC_DigestFinal) :::