import 'dart:convert'; import 'package:crypto/crypto.dart'; class XunFeiUtils { // 使用SHA-256算法计算HMAC static String hmacSha256(String apiSecret, String signatureOrigin) { // 将 apiSecret 和 signatureOrigin 转换为 UTF-8 编码的字节 var key = utf8.encode(apiSecret); var message = utf8.encode(signatureOrigin); // 使用 HMAC-SHA256 算法生成签名 var hmac = Hmac(sha256, key); // 初始化 HMAC(使用 SHA256) var signatureSha = hmac.convert(message); // 计算签名 // 将生成的签名进行 Base64 编码 String base64Signature = base64.encode(signatureSha.bytes); return base64Signature; // 返回 Base64 编码后的签名 } }