HMAC API authentication inspired from Amazon AWS signature v4