generateHashedRequestPayload method

String generateHashedRequestPayload(
  1. String payload
)

请求正文(payload,即 body,此示例为

{"Limit": 1, "Filters": [{"Values": ["\u672a\u547d\u540d"], "Name": "instance-name"}]}

的哈希值, 计算伪代码为

Lowercase(HexEncode(Hash.SHA256(RequestPayload)))

即对 HTTP 请求正文做 SHA256 哈希,然后十六进制编码,最后编码串转换成小写字母。 对于 GET 请求,RequestPayload 固定为空字符串。

此示例计算结果是

35e9c5b0e3ae67532d3c9f17ead6c90222632e5b1ff7f6e89887f1398934f064

Implementation

String generateHashedRequestPayload(String payload) {
  final bytes = convert.utf8.encode(payload);
  final digest = _hash.convert(bytes);

  return digest.toString().toLowerCase();
}