我正在使用规范文档来访问 API,它说哈希是根据以下逻辑生成的签名计算的:
Signature = (field1 + field2 + field3 + field4 + field5 + field6) + (field7 + field8)
我只是想知道这是什么意思?
因此,当我使用 sha-256 连接字段和散列时,我得到的散列格式与预期的 32 字节不同;示例哈希具有以下格式:
PajZG3NEUUHgrycwtPKcKkvTdBg/Kkx6OhlULgSV+ko= 与此示例相反:
c7477242d3901f537387b2b6c61099380634c013a060960a5bf4d87734d54f0e
这是我的代码:
stringToHash = "field1field2field3field4field5field6field7field8";
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(stringToHash.getBytes(StandardCharsets.UTF_8));
String encoded = Base64.getEncoder().encodeToString(hash);
我会错过什么?