Source code for stream.signing

import hmac
import hashlib
import base64


[docs]def b64_encode(s): return base64.urlsafe_b64encode(s).strip(b'=')
[docs]def sign(api_secret, feed_id): ''' Base64 encoded sha1 signature :param api_secret: the api secret :param feed_id: the feed_id to sign (commonly a feed id such as user1) **Example**:: signature = sign('secret', 'user1') ''' hashed_secret = hashlib.sha1((api_secret).encode('utf-8')).digest() signed = hmac.new( hashed_secret, msg=feed_id.encode('utf8'), digestmod=hashlib.sha1) digest = signed.digest() urlsafe_digest = b64_encode(digest) token = urlsafe_digest.decode('ascii') return token