reuse HMAC functionality from Digest::SHA