flutter hmac
时间: 2023-09-06 17:13:41 浏览: 165
在Flutter中,您可以使用crypto库来计算HMAC。以下是一个示例代码,展示如何使用crypto库计算HMAC-SHA256:
```dart
import 'dart:convert';
import 'package:crypto/crypto.dart';
String calculateHMAC(String key, String message) {
// Convert key and message to bytes
List<int> keyBytes = utf8.encode(key);
List<int> messageBytes = utf8.encode(message);
// Create HMAC-SHA256 hash
Hmac hmacSha256 = Hmac(sha256, keyBytes);
List<int> digest = hmacSha256.convert(messageBytes).bytes;
// Convert digest bytes to hex string
String result = '';
for (int i = 0; i < digest.length; i++) {
result += digest[i].toRadixString(16).padLeft(2, '0');
}
return result;
}
```
在上面的代码中,calculateHMAC方法接收两个参数,key和message。它首先将这两个参数转换为字节数组,然后使用HMAC-SHA256算法计算消息的散列值。最后,它将散列值转换为十六进制字符串并返回结果。
您可以像这样调用calculateHMAC方法:
```dart
String key = 'my-secret-key';
String message = 'hello world';
String hmac = calculateHMAC(key, message);
print(hmac); // 输出:b91d9e1f86e6c8cd2e9d1d9a5c4b4f9e7f6b6b8d2e6a82e1f1b41e12b7d6bca1
```
请注意,此示例代码仅适用于HMAC-SHA256算法。如果您需要使用其他算法,请将Hmac构造函数中的sha256参数替换为所需的算法。
阅读全文