JSONiq with Zorba HMAC



我正在使用fcavalieri/zorba Docker Image运行以下代码。hmac:compute("The quick brown fox jumps over the lazy dog", "key" ,"SHA256")生产:97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg= base64解码返回垃圾而不是预期的f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8

我是否正确使用此模块?

这是因为输出为base64,这与 hmac:compute的签名一致。

我假设您尝试使用base64:Decode-但是,此函数将实际的base64编码位转换为字符串,将它们解释为UTF-8,这不是您在这里需要的。

JSONIQ中有两种二进制类型(它们实际上来自XML模式(:hexBinarybase64Binary。它们具有相同的价值空间,但使用不同的词汇空间。可以将输出转换为hexBinary,以便像这样获得十六进制的输出:

import module namespace hmac = "http://zorba.io/modules/hmac";
hexBinary(hmac:compute("The quick brown fox jumps over the lazy dog", "key" ,"SHA256"))

Zorba然后输出预期的F7BC83F430538424B13298E6AA6FB143EF4D59A14946175997479DBC2D1A3CD8

最新更新