I’m trying to replicate a call to a remote REST API that uses hmac encoding to construct an authentication string. I’m working from existing Python code that does the same thing.
What I’m seeing is that the crypto:hmac() function can return Base64 strings that include characters that must be escaped in URIs, i.e.:
mTA76dRZkiCf84WUKM/PWySydamj3dMZ6Tm26s9QGNI
(Note the “/”)
Python’s base64 support includes the method urlsafe_b64encode(), which avoids the characters “+” and “/”.
Unfortunately the handler of the API call fails if I escape the “/” or “+”—I’m not sure why.
So I need to construct the same URI-friendly base64 string that the Python method is generating.
I don’t see an obvious way to do this with the BaseX conversion package.
Is there a way short of implementing my own Base64 encoding algorithm to get a URI-friendly base64 string?
I’m using 9.6.4 at the moment but could upgrade if necessary.
Thanks,
E.
_____________________________________________
Eliot Kimber
Sr Staff Content Engineer
O: 512 554 9368
M: 512 554 9368