我正在使用fcavalieri/zorba坞映像运行以下代码。hmac:compute("The quick brown fox jumps over the lazy dog", "key" ,"SHA256")生成:97yD9DBThCSxMpjmqm+xQ+9NWaFJRhdZl0edvC0aPNg=,当base64解码后返回垃圾,而不是预期的f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
我正确地使用了这个模块吗?
发布于 2018-03-26 08:39:01
这是因为输出是base64,这与签名 of hmac:compute一致。
我假设您尝试使用base64 64:解码 --然而,这个函数将实际的base64 64编码位转换为字符串,将它们解释为UTF-8,这不是您需要的。
JSONiq中有两种二进制类型(它们实际上来自XML ):hexBinary和base64Binary。它们具有相同的值空间,但使用不同的词法空间。可以将输出转换为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
https://stackoverflow.com/questions/49480390
复制相似问题