我正在尝试在 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 不太了解,所以我遗漏了一些东西但不确定是什么,我们将不胜感激!