signature.py 502 B

1234567891011121314151617181920
  1. import base64
  2. import hashlib
  3. import hmac
  4. key = bytes.fromhex("943b421c9eb07c830af81030552c86009268de4e532ba2ee2eab8247c6da0881")
  5. salt = bytes.fromhex("520f986b998545b4785e0defbc4f3c1203f22de2374a3d53cb7a7fe9fea309c5")
  6. path = "/rs:fit:300:300/plain/http://img.example.com/pretty/image.jpg".encode()
  7. digest = hmac.new(key, msg=salt+path, digestmod=hashlib.sha256).digest()
  8. signature = base64.urlsafe_b64encode(digest).rstrip(b"=")
  9. url = b'/%s%s' % (
  10. signature,
  11. path,
  12. )
  13. print(url.decode())