在 Dart 中生成 Hmac256 签名

问题描述 投票:0回答:0

我正在尝试在 Dart 中创建一个安全签名,以添加到一个简单的 http GET 请求的请求标头中。

签名在js中是这样生成的:

const signature = CryptoJS.HmacSHA256(timestamp + method + path, 'secret').toString(CryptoJS.enc.Hex);

我希望能够在 Dart 中实现相同的结果,我正在使用 Crypto 包 并且我有以下代码,但是在触发请求时收到身份验证错误,这意味着我的“翻译”不好:

  final key = utf8.encode('secret');
  final bytes = utf8.encode(timestamp + method + path);

  final hmacSha256 = Hmac(sha256, key);
  final digest = hmacSha256.convert(bytes);

  // Signature to use in the header:
  String signature = '${digest}';

我做错了什么?我对 JS 不太了解,所以我遗漏了一些东西但不确定是什么,我们将不胜感激!

flutter dart cryptojs
© www.soinside.com 2019 - 2024. All rights reserved.