> to this function is equivalent to calling EVP_MAC_CTX_set_params() with those <i>params</i> for the same <i>ctx</i> beforehand. Note: There are additional requirements for some MAC algorithms during re-initalization (i.e. calling EVP_MAC_init() on an EVP_MAC after EVP_MAC_final() has been called on the same object). See the NOTES section below.</p>

<p>EVP_MAC_init() should be called before EVP_MAC_update() and EVP_MAC_final().</p>

<p>EVP_MAC_update() adds <i>datalen</i> bytes from <i>data</i> to the MAC