使用的官方包
https://pub.dev/packages/crypto
MD5 加密
// 百度翻译
static baiduTranslate(String q, String target) {
String appid = box.read("baiduTranslateSecretId") ?? "";
String key = box.read("baiduTranslateSecretKey") ?? "";
String salt = (DateTime.now()).millisecondsSinceEpoch.toString();
final sign = md5.convert(utf8.encode(appid + q + salt + key)).toString();
return Request.post(
"https://fanyi-api.baidu.com/api/trans/vip/translate",
data: {
"q": q,
"from": "auto",
"to": target.toLowerCase(),
"appid": appid,
"salt": salt,
"sign": sign
},
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
);
}
// appid+q+salt+密钥的MD5值
static String generateMD5(String appid, String q, String salt, String key) {
// 1.拼接appid+q+salt+密钥
String str = appid + q + salt + key;
// 2.对str进行MD5加密
var content = const Utf8Encoder().convert(str);
var digest = md5.convert(content);
// 3.将加密结果转换为字符串
return digest.toString();
}