<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _compute_signature(self, body):
 """ Computes the signature. Described at: http://crossbar.io/docs/HTTP-Bridge-Services-Caller/ Reference code is at: https://github.com/crossbario/crossbar/blob/master/crossbar/adapter/rest/common.py :return: (signature, none, timestamp) """


        timestamp = datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S.%fZ")
        nonce = randint(0, 2**53)

        # Compute signature: HMAC[SHA256]_{secret} (key | timestamp | seq | nonce | body) => signature
        hm = hmac.new(self.secret, None, hashlib.sha256)
        hm.update(self.key)
        hm.update(timestamp)
        hm.update(str(self.sequence))
        hm.update(str(nonce))
        hm.update(body)
        signature = base64.urlsafe_b64encode(hm.digest())

        return signature, nonce, timestamp