SILC Core Library SILC Auth API SILC Channel API SILC Command API SILC ID API SILC ID Cache API SILC Modes SILC Notify API SILC Packet API SILC Payload API SILC Private API SILC Math Library SILC Math API SILC MP API SILC SFTP Library SILC SFTP API SILC SFTP Filesystems SILC Utility Library SILC Buffer API SILC Buffer Format API SILC Buffer Utility API SILC Hash Table API SILC Log and Debug API SILC Memory API SILC Mutex API SILC Thread API SILC Net API SILC Schedule API SILC Socket Connection API SILC Protocol API SILC Util API SILC Zip API SILC List API SILC Dynamic List API SILC Key Exchange Library SILC SKE API SILC SKE Status SILC Client Library SILC Client API SILC Crypto Library SILC Cipher API SILC Hash API SILC HMAC API SILC PKCS API SILC RNG API
Function silc_hmac_init SYNOPSIS
        void silc_hmac_init(SilcHmac hmac);
DESCRIPTION
        Sometimes calling the silc_hmac_make might not be the most
        optimal case of doing MACs.  If you have a lot of different data
        that you need to put together for computing a MAC you may either
        put them into a buffer and compute the MAC from the buffer by
        calling the silc_hmac_make, or you can use the silc_hmac_init,
        silc_hmac_update and silc_hmac_final to do the MAC.  This function
        prepares the allocated HMAC context for this kind of MAC
        computation.  The caller must have been called the function
        silc_hmac_set_key before calling this function.  To add the
        data to be used in the MAC computation call the silc_hmac_update
        function.
>> SilcHMACAPI >> SilcHmac >> SilcHmacObject >> silc_hmac_register >> silc_hmac_unregister >> silc_hmac_register_default >> silc_hmac_alloc >> silc_hmac_free >> silc_hmac_is_supported >> silc_hmac_get_supported >> silc_hmac_len >> silc_hmac_get_hash >> silc_hmac_get_name >> silc_hmac_set_key >> silc_hmac_make >> silc_hmac_make_with_key >> silc_hmac_make_truncated >> silc_hmac_init >> silc_hmac_init_with_key >> silc_hmac_update >> silc_hmac_final